Your own soft place for notices, updates, and community info.
A clean, GitHub-ready Discord bot for United International University communities.
It brings together UIU notices, academic calendar info, server utilities, and quick admin setup in one place.
- Pulls the latest UIU notices directly into Discord.
- Posts new notices automatically to a channel you choose.
- Shows key academic calendar dates on demand.
- Includes quality-of-life commands like polls, help, ping, and about.
- Keeps server-specific notice memory so duplicate announcements are avoided.
Main Discord view with the bot in action.
Help Command Walkthrough
|
Notice Setup Walkthrough
|
| Area | What it does |
|---|---|
| UIU Notices | Fetches the latest notices from the UIU website and shows the top results in Discord. |
| Auto Notice Posting | Checks for new notices every 5 minutes and posts only unseen ones to configured channels. |
| Academic Calendar | Displays the current UIU academic calendar from maintained static data. |
| Server Tools | Includes admin setup for notice channels and stop controls for automatic notice posting. |
| Community Utilities | Provides poll creation, help, ping, and about commands. |
| Command | Access | Description |
|---|---|---|
/help |
Everyone | Shows the full command list. |
/ping |
Everyone | Checks bot latency. |
/about |
Everyone | Displays bot info and invite details. |
/poll |
Everyone | Creates a poll with up to 10 options. |
/notices |
Everyone | Shows the latest 3 UIU notices. |
/calendar |
Everyone | Shows important academic calendar dates. |
/setup |
Admin | Sets the channel for automatic UIU notice posts. |
/stop_notices |
Admin | Disables automatic notice posting for the server. |
git clone https://github.com/Sawlper/UIU-BOT-Discord.git
cd UIU-BOT-Discordpython -m venv venv
.\venv\Scripts\Activate.ps1pip install -r requirements.txtCreate a .env file in the project root:
DISCORD_TOKEN=your_bot_token_herepython main.py| File | Key | Purpose |
|---|---|---|
config/settings.py |
BOT_NAME |
Bot display name used in responses and startup logs. |
config/settings.py |
BOT_VERSION |
Tracks the current bot version. |
config/settings.py |
NOTICE_CHECK_INTERVAL_MINUTES |
Controls how often the bot checks for new notices. |
config/settings.py |
MAX_SEEN_NOTICES |
Caps stored notice history per server. |
.env |
DISCORD_TOKEN |
Discord bot token required to connect. |
Notice checks intentionally run every 5 minutes to reduce load on the UIU website and lower the risk of IP blocks.
- Python
discord.pypython-dotenvrequestsbeautifulsoup4
UIU-BOT-Discord/
|-- .github/
| `-- workflows/
| `-- static.yml
|-- .gitignore
|-- Asset/
| |-- CommandsPVWgifs/
| `-- Icon gifs/
|-- commands/
| |-- about.py
| |-- calendar.py
| |-- help.py
| |-- notices.py
| |-- ping.py
| |-- poll.py
| `-- setup.py
|-- config/
| `-- settings.py
|-- data/
| `-- notices_memory.json
|-- utils/
| |-- fetch_calendar.py
| `-- fetch_notices.py
|-- main.py
`-- requirements.txt
- The bot uses slash commands and syncs them when the app starts.
- Notice scraping is wrapped safely so one failed fetch does not kill the background loop.
- Academic calendar data is currently static and should be updated manually each semester.
- The README preview assets come from
Asset/CommandsPVWgifs, so GitHub visitors can see the bot before running it.
.github/workflows/static.ymlfor GitHub Pages deployment workflow..gitignoreto keep secrets, cache files, and virtual environments out of the repo.README.mdfor project presentation, onboarding, and setup.
If you want to improve the bot, open an issue or submit a pull request with a clear description of the change. Small fixes, polish, and new commands are all welcome.


