Skip to content

mdanikhasan-dev/UIU-Discord_Bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UIU BOT

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.

GitHub Pages workflow Python 3.11+ discord.py 2.3+ Project status active

GitHub stars GitHub forks Last commit Repository size

Why This Bot Is Useful

  • 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.

Preview

UIU Bot preview screenshot

Main Discord view with the bot in action.

Help Command Walkthrough
Help command preview
Notice Setup Walkthrough
Setup command preview

Features

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.

Slash 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.

Quick Start

1. Clone the repo

git clone https://github.com/Sawlper/UIU-BOT-Discord.git
cd UIU-BOT-Discord

2. Create and activate a virtual environment

python -m venv venv
.\venv\Scripts\Activate.ps1

3. Install dependencies

pip install -r requirements.txt

4. Add your environment variables

Create a .env file in the project root:

DISCORD_TOKEN=your_bot_token_here

5. Run the bot

python main.py

Configuration

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.

Tech Stack

  • Python
  • discord.py
  • python-dotenv
  • requests
  • beautifulsoup4

Project Structure

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

Notes

  • 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 Files Included

  • .github/workflows/static.yml for GitHub Pages deployment workflow.
  • .gitignore to keep secrets, cache files, and virtual environments out of the repo.
  • README.md for project presentation, onboarding, and setup.

Contributing

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.

About

UIU Discord bot with auto notice posting, calendar updates, and automation tools for United International University students. Discord bot for UIU that automates university notices, event calendar updates, and student server management. UIU automation bot for Discord with notice tracking, auto calendar features, and student update tools.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages