https://github.com/lannonbr/jeff-bot
A discord bot that uses the Marvel Comic API to notify upon upcoming releases
https://github.com/lannonbr/jeff-bot
discord marvel-api
Last synced: 5 days ago
JSON representation
A discord bot that uses the Marvel Comic API to notify upon upcoming releases
- Host: GitHub
- URL: https://github.com/lannonbr/jeff-bot
- Owner: lannonbr
- License: mit
- Created: 2025-02-09T21:11:37.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2025-04-28T09:21:04.000Z (23 days ago)
- Last Synced: 2025-05-09T21:53:07.986Z (11 days ago)
- Topics: discord, marvel-api
- Language: JavaScript
- Homepage:
- Size: 30.3 KB
- Stars: 0
- Watchers: 1
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: readme.md
- Changelog: changelog.md
- License: LICENSE
Awesome Lists containing this project
README
# Jeffbot
A discord bot that uses the [Marvel Comic API](https://developer.marvel.com/) to notify upon upcoming releases of comic books.
## Setup
Create an application in the [Discord Developer Portal](https://discord.com/developers/applications). Add a bot to the server that you wish to run this in. The permissions I gave it are the following:
scopes:
- applications.commands
- botpermissions:
- Read message history
- Send messages
- Send messages in Threads
- Use Slash Commands
- View ChannelsCreate a .env file and add the following fields
- `JEFFBOT_DISCORD_TOKEN`: Get a discord bot token from the Discord developer portal
- `MARVEL_PUB_KEY`: Public key from Marvel API dashboard
- `MARVEL_PRIV_KEY`: Private key from Marvel API dashboard
- `GUILD_ID`: ID of discord server you are running this on
- `CHANNEL_ID`: ID of the channel that will post automatic notifications of new releasesAlso, create a file at `data/series.json` file that will list the IDs for each series. If you go to a series from this page: [https://www.marvel.com/comics/series](https://www.marvel.com/comics/series), the series ID will be in the URL.
For example:
```json
[
{ "id": 38806, "name": "Ultimate Black Panther (2024)" },
{ "id": 38809, "name": "Ultimate Spider-Man (2024)" },
{ "id": 38865, "name": "Ultimates (2024)" }
]
```Finally run `npm install`, and `node index.js`
## Features
- at 7:00am et it will post a message in a provided channel using the `CHANNEL_ID` env variable of if there are any new releases on that given day.
- the `/comics_this_week` slash command will post if any of the series you track have releases in the upcoming week
- `/next_issue` will take a series ID and output when the next issue is released
- `/add_series`: will take in a series ID and save the fields to the series.json file
- `/remove_series` does the opposite and removes a series
- `/print_series` will list all of the series being tracked