No description
Find a file
BreadTube 8d76596ebf Add README
* Optional `--guild-id` is now positional (thus mandatory) and no longer
  have a default id set to the breadtube discord server
2026-01-21 22:46:13 +09:00
breadtube_bot Fix request_channel_id part 2026-01-09 20:39:57 +09:00
data Add README 2026-01-21 22:46:13 +09:00
tests Add channel id by name message 2026-01-09 19:56:27 +09:00
.gitattributes Implement subscription from RSS feed 2026-01-09 00:43:34 +09:00
.gitignore Add README 2026-01-21 22:46:13 +09:00
pyproject.toml Add README 2026-01-21 22:46:13 +09:00
README.md Add README 2026-01-21 22:46:13 +09:00
start.py Add README 2026-01-21 22:46:13 +09:00

Breadtube Bot

This is the bot for the breadtube application for Discord.

Install

The breadtube bot needs Python to be installed (minimum tested version is 3.10). There is no other dependencies.

Usage

The bot needs 2 token:

  • A discord bot token in data/ : in your discord application's settings under Bot you'll have to click on the Reset Token button (even if you just created a new application) to retreive this token. The token will only appear once, after resetting it.
  • A google api token in data/ : you can create one from the google API console https://console.cloud.google.com/apis/credentials, you should have a Create credentials button in the top menu then select API key. You can restrict the key to only Youtube Data API as no other API will be used by the bot.

The Google API Key is only used to search channel from their URL and find their ID.

Starting manually the bot is as simple as running the command python3 start.py [discord-server-id].

Using a systemd service (Linux)

All of the following needs to be done as root (administrator privilege).

If you want the bot to run automatically on a Linux server you can setup a systemd service by adding a file in /etc/systemd/system, like /etc/systemd/system/breadtube-bot.service (here the service name will be breadtube-bot) then you need to run systemctl daemon-reload to read/accept the new service. From here systemctl can be used with the commands enable/disable to make the service run at startup and start/stop/status to manually start, stop or check if it is running (example: systemctl start breadtube-bot).

Additionnaly you can check all the logs of a service using journalctl -u baguettetube-bot (-f to 'follow' in real-time the logs).

Sample of a service file running from a created breadtube user (it is highly recommended to run as a isolated user):

[Unit]
Description=Run Breadtube Bot
After=network.target

[Service]
Type=simple
User=breadtube
Group=breadtube
WorkingDirectory=/home/breadtube/[path-to-source-code]
ExecStart=python3 start.py [discord-server-id]

[Install]
WantedBy=default.target