A Discord bot for the IWI department at HKA that provides student verification through RaumZeit API integration.
- Student verification using RaumZeit credentials
- Automatic role assignment for verified students
- Interactive verification flow with Discord modals and buttons
-
Clone the repository
git clone <repository-url> cd IWIDiscordBot
-
Create a virtual environment
python -m venv .venv source .venv/bin/activate # On macOS/Linux # or .venv\Scripts\activate # On Windows
-
Install dependencies
pip install discord.py python-dotenv aiohttp
-
Configure environment variables
Copy
.env.exampleto.envand fill in your values:cp .env.example .env
Required variables:
DISCORD_TOKEN: Your Discord bot tokenRAUMZEIT_URL: RaumZeit API endpointSERVER_ID: Your Discord server IDCHANNEL_ID: Channel ID where verification message will be sentSTUDENT_ROLE_ID: Role ID to assign to verified students
-
Run the bot
python src/main.py
- Python 3.8+
- discord.py
- python-dotenv
- aiohttp
- Send Messages
- Embed Links
- Manage Roles
- Read Message History
- Use Slash Commands
- Discord modals cannot hide password input (API limitation)
- All verification interactions are ephemeral (only visible to the user)
- Credentials are only used for verification and are not stored
- Users receive a privacy notice before entering credentials
Private repository - All rights reserved