|
8 months ago | |
---|---|---|
.gitignore | 2 years ago | |
LICENSE.md | 2 years ago | |
README.md | 2 years ago | |
SonyDevWorld.py | 8 months ago | |
sonydevworldbot.service | 2 years ago | |
sonydevworldbot.timer | 2 years ago |
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.