An open API service indexing awesome lists of open source software.

https://github.com/wizard-28/gdsc-bot

Discord bot for GDSC Technical Task Round-2
https://github.com/wizard-28/gdsc-bot

Last synced: 3 months ago
JSON representation

Discord bot for GDSC Technical Task Round-2

Awesome Lists containing this project

README

          

# GDSC Bot

## Features Implemented

- Respond to user messages in the Discord server using the Gemini API.
- Create, delete, and modify reminders for users in the Discord server. Users should
be able to set a reminder by sending a message with the time and date of the
reminder in a specific format.
- Users should be able to create Polls
- AI-powered Summaries – Users can ask the bot to summarize long messages.
- Custom Welcome Messages – The bot welcomes new members.
- Auto-Delete Expired Reminders – To keep the system clean.

## Usage

![help.png](assets/help.png)

Also there's a `summarize` context menu option to summarize long messages

![summarize_pic.png](assets/summarize_pic.png)

## Running instructions

### If just inviting

Invite URL:

The bot maybe offline most of the time, as I'm not hosting it.

### Self Hosting

1. Create [your own bot app in discord](https://discord.com/developers/applications/)
2. Get [gemini api key](https://aistudio.google.com/apikey)
3. Add a `.env` file to the project root directory in this format

```monospace
TOKEN=
GEMINI_API_KEY=
```

4. Install [Poetry](https://python-poetry.org/) and [Python](https://www.python.org/)
5. Run the following commands

```bash
git clone https://github.com/wizard-28/gdsc-bot.git
cd gdsc-bot

poetry install

poetry run python -m gdsc_bot
```

6. Enjoy the bot

## Implementation details

Detailed using docstrings and comments in the code.

Start from [**main**.py](src/gdsc_bot/__main__.py)

See [JOURNAL.md](/JOURNAL.md) for my development process.