Sony have begun using more inline styling, e.g. ``` <p lang="en-US" style="margin: 0in; [...]">Open [...]</p> <div class="content-block-module [...]>[...]</div> ``` |
||
---|---|---|
.gitignore | ||
LICENSE.md | ||
README.md | ||
SonyDevWorld.py | ||
sonydevworldbot.service | ||
sonydevworldbot.timer |
README.md
SonyDevWorld Telegram Bot
The bot that powers t.me/SMDW_downloads
Neither affiliated nor endorsed by Sony Mobile
Requirements:
You need to have python3
installed with the requests
module.
Further, you need to supply token and channel id via environment variables:
SONYDEVWORLD_BOT_TOKEN
: Bot token, get one from t.me/botfather, e.g.1234567890:ABCDb1o0-ASDKHKJ3oiavKJDSFKJHkjwebb
SONYDEVWORLD_BOT_CHANNEL
: Channel id to post to, e.g.-1000000000000
for t.me/MyExampleChannel. You can quickly obtain channel info from @getidsbot
Running
export SONYDEVWORLD_BOT_TOKEN=<my-token>
export SONYDEVWORLD_BOT_CHANNEL=<my-channel-id>
python3 SonyDevWorld.py
It makes sense to run this bot maybe once an hour to avoid hammering the Sony Dev World API.
Set export DEBUG=true
to run in debug mode, set export OFFLINE=True
to run
in offline mode after you've saved items.json
.
Deploying
For deploying, a simple systemd
unit file with a timer is included.
After you've supplied your token inside the .service
file and copied the unit
and timer files into /etc/systemd/system/
, you can run the service
periodically via
systemctl daemon-reload
and then
systemctl reenable --now sonydevworldbot.timer
For convenience, there is also an ansible role available.
Details
SonyDevWorld.py
does all the heavy lifting for you. It posts to the Telegram
bot API at https://api.telegram.org/bot<token>/sendMessage
The last posted item's guid
info is saved to laststatus.txt
. It would look
something like file-download-786918
.
License
MIT, see LICENSE.md.