You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
6 years ago | |
|---|---|---|
| configs | 6 years ago | |
| init | 6 years ago | |
| web | 6 years ago | |
| .gitignore | 6 years ago | |
| README.md | 6 years ago | |
| bot.go | 6 years ago | |
| chatdb.go | 6 years ago | |
| chatdb_test.go | 6 years ago | |
| go.mod | 6 years ago | |
| go.sum | 6 years ago | |
| http.go | 6 years ago | |
| main.go | 6 years ago | |
| media_store.go | 6 years ago | |
| media_store_test.go | 6 years ago | |
| secret.go | 6 years ago | |
| secret_test.go | 6 years ago | |
| security.go | 6 years ago | |
| test.go | 6 years ago | |
| token.go | 6 years ago | |
| token_test.go | 6 years ago | |
| user.go | 6 years ago | |
| web.go | 6 years ago | |
README.md
The Photo-Album Bot for Telegram
Compilation
Pack all web files
go generate
Compile for your target platform (example given for a Raspberry PI 3).
GOOS=linux GOARCH=arm64 go build -o photo-bot
Create a Bot
Talk to BotFather to create your bot.
/newbot
Keep your bot token secure and safe!
Installation
On your Raspberry PI.
mkdir -p /opt/photo-bot/bin
mkdir -p /opt/photo-bot/etc
mkdir -p /srv/photo-bot
useradd -d /srv/photo-bot -s /bin/false -m -r bot
chown bot:bot /srv/photo-bot
scp photo-bot root@raspberry-pi.example.test:/opt/photo-bot/bin/
Create a file named photo-bot.yaml in /opt/photo-bot/etc/, using the provided config sample as a starting base.
Note: the Authentication and Encryption Keys can be created using openssl rand -base64 32
chown bot:bot /opt/photo-bot/etc/photo-bot.yaml
chmod 600 /opt/photo-bot/etc/photo-bot.yaml
Start the bot manually.
sudo -u bot /opt/photo-bot/bin/photo-bot
Create the startup script in /etc/init.d/photo-bot.
A sample init script is provided in the init folder.
chmod 755 /etc/init.d/photo-bot
service photo-bot enable
service photo-bot start
Useful notes
Video autoplay is tricky:
- On Firefox, you have to interact with the page first (click somewhere in the page)
- On Safari, you have to explicitly enable auto-play for this website
- On Chrome, it seems to be enabled out-of-the-box