Skip to content

BBArikL/BDBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BDBot

Discord bot that post bd strips. Simple as that!

Github top language

Discord server

Github code size

Issues in repo BDBot

Pull request in repo BDBot

License of BDBot

Last commit indicator

Comics:

Added:

Planned

  • Nyazsche
  • Saturday Morning Breakfast Cereal
  • The Far Side

Related GitHub pages:

CalvinBot : https://github.com/wdr1/CalvinBot

Robobert: https://github.com/JTexpo/Robobert

What to learn from this project?

  • More about discord bots.
  • Automated / Scheduled tasks.
  • Looking for content in web pages.
  • Parsing Date.
  • Database support.
  • GitHub version handling.

Usage

  • Get help about the bot Help embed

  • Get a comic info Comic info

  • Get today's comic today's comic

  • Get a random comic random comic

  • Get a specific comic specific comic

  • Subscribe to a comic There are 2 ways to set up scheduled comics:

    • Latest: Get only the latest comics when they are posted, no need to set up an exact day of the week or an hour of the day.
    • Regular: Get the comic at a regular day and hour of the week. A date should be one of the seven days of the week and the hour a number representing the time in a 24h clock in UTC time (0h to 23h). If not specified, defaults to the current time in UTC.

comic subscription

Current state of the project

  • Functionalities

    • /<comic_name> Use comic <comic_name>
    • /help general : Help embed
    • /git command : Redirects to this GitHub page
    • /invite command : Generate a link to invite the bot to your server (or use this link)
    • Daily Command: use /<name_of_comic> add/remove to add or remove a comic from the daily list for the server.
    • Use /remove_all to remove all comics from the daily list for the server.
    • Use /remove_channel to remove all comics in the channel.
    • Tell me if I forgot some commands here!
  • Bugs

    • Cyanide and Happiness specific date returns the latest comic
    • Cyanide and Happiness random comic returns the same comic
  • Anything else to know?

    • How can I host the bot? The requirements are: Playwright (use 'BYPASS_GOCOMICS_JS=False' to disable that requirement), and python 3.11+.
      1. Install Playwright
      2. Install pipx
      3. Install the bot: pipx install git+https://github.com/BBArikL/BDBot/
      4. Create a new bot here https://discord.com/developers/applications and save the credentials.
      5. Run bdbot_manager and select the options : 'Manage Bot' > 'Setup Bot'
      6. Go through the prompts.
      7. Run the bot with bdbot. If you are on Linux and have selected the service installation, make sure the bot is installed with : systemctl status runbdbot.
    • Why can't I go farther than 14 comics on Gocomics? As of April 1st 2025, Gocomics implemented a premium membership to view older comics. You can go on their site to get one and see the comics directly in your browser. Self-host the bot and define BYPASS_GOCOMICS_SUBSCRIPTION=True in your environment to view older comics. Distributing the comics for free could cause some undesirable consequences in the future.
      • Gocomics also added some JS injection to prevent scraping and it seems to be put at random. This means that each gocomics page need to be fully rendered to reliably scrape it. This puts more stress on the host and more memory is used (I am sensing some memory leak with requests-htmlc). If you want to disable this, set BYPASS_GOCOMICS_JS to false in your .env file.
    • Why can't I see the comics coming from Gocomics?
      • As of October 6th 2025, Gocomics implemented a firewall to stop automated content grabber. It is not clear if it is because of AI crawlers or this bot, but this prevent this bot from getting the comic. I am trying to resolve the issue. For now, it will be only previews and 'latest' comics are sent as reminders to go check it out on their website every day at 8 AM UTC.
    • Why is there only 2 images for Webtoons? Webtoons only gives out two images link to the comic in their rss feed. Finding each image link is way more complicated than this and is not in place now.
    • I requested a comic but it isn't there, why? I personally choose the requests to keep a balance of quality and diversity of comics. I still aim for the bot to be mostly "family-friendly". For some websites requested that could fit but are not here:
      • ComicRocket: It doesn't work for me strangely. And it seems to be just a linker back to other sites.
    • You want to do a pull request to add your favourite comic?
      • Preferably, Gocomics and Comics Kingdom comics are the easiest to implement, so try to stick with that if your comic is hosted there.
    • If the comic is NOT hosted on GoComics/Comics Kingdom, please open an issue on the git page (https://github.com/BBArikL/BDBot).
    • Any pull requests that was not approved from another site will be automatically rejected, and you will be asked to follow the procedure cited.
    • 'Beta' and 'main'?
    • The bot is considered complete feature-wise (but not comic-wise).
    • The bot is on UTC time. The daily comic post happen at 6:00 AM UTC daily.

Privacy FAQ

  • What information is collected by the bot?
    • If you only use the bot time to time: None!
    • If you subscribed to comics for your server:
      • The guild ID
      • The preferences about how to mention in the chat
      • The role ID to mention (if provided)
      • The subscribed channels ID
      • Information about which comics to send and when it needs to be sent
    • If you submitted a request (to prevent abuse and relevance):
      • Discord Username
      • Discord discriminator
      • Date and time of the request
      • The request
      • If you want to delete this information (and the associated requests), use /delete_request

About

Bot that post bd strips. Simple as that.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages