From 74d5f60ad6252149576b971b34a16f0b5dc2760b Mon Sep 17 00:00:00 2001 From: Ethan Wong <87055387+ethanwongca@users.noreply.github.com> Date: Mon, 12 Aug 2024 17:40:55 -0700 Subject: [PATCH] Updating ReadME to match current README skills --- README.md | 101 +++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 74 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index b934439..7522bb9 100644 --- a/README.md +++ b/README.md @@ -1,47 +1,94 @@ -![COMUN LinkedIN](https://github.com/user-attachments/assets/2b8feb6f-9209-4d28-beac-db9e26513156) +# Canadian Online Model United Nations (COMUN) -This is the technical portion for Canadian Online Model United Nations, a 2 x Special Mention for the United Nations -High Commissioner for Refugees MUN Refugee Challenge and one of the first virtual and free Model United Nations. -This Model United Nations has amassed over 300 delegates from 37 countries to attend. +![COMUN LinkedIn](https://github.com/user-attachments/assets/2b8feb6f-9209-4d28-beac-db9e26513156) - Awards from UNHCR are placed in the awards folder. +Welcome to the technical repository for the **Canadian Online Model United Nations** (COMUN). COMUN is one of the first virtual and free Model United Nations, recognized with **2 x Special Mentions** from the **United Nations High Commissioner for Refugees (UNHCR)** MUN Refugee Challenge. We have successfully hosted over **300 delegates** from **37 countries** worldwide. - Letters for COMUN are placed in the COMUN letters folder. +📂 **Awards**: UNHCR awards can be found in the [**awards folder**](./awards). +📂 **Letters**: COMUN-related letters are available in the [**COMUN letters folder**](./COMUN-letters). -

Languages and Libraries

- For the bots - Python 3, discord library, asyncio, nest_asyncio, and time library +--- - For the website - Javascript, CSS, HTML +## 🌐 Connect with Us +[![LinkedIn](https://img.shields.io/badge/LinkedIn-0077B5?logo=linkedin&logoColor=white)](https://www.linkedin.com/company/canadianonlinemun) +[![Instagram](https://img.shields.io/badge/Instagram-E4405F?logo=instagram&logoColor=white)](https://www.instagram.com/canadianonlinemun/?hl=en) -

Discord Bots

+--- -Bot code are in the bots folder. Examples of each bot are below +## 📋 Table of Contents - Welcome Bot - This bot greets delegates when they enter the COMUN server. -COMUN Welcome Bot +- [Languages and Libraries](#-languages-and-libraries) +- [Discord Bots](#-discord-bots) +- [Website](#-website) +- [Usage](#-usage) - Poll Bot - Creates a poll for voting between three options, abstaining, for, and against and counts up the poll. -Poll Bot when given command +--- - Roll Call Bot - Asks delegates their status, present or present and voting, then stores the delegate's choice. -Screen Shot 2023-05-06 at 7 22 27 PM +## 🛠 Languages and Libraries - TImer Bot - Creates a timer that counts down with the /time 60 command. Then countdown in real-time. -Screen Shot 2023-05-06 at 10 34 24 PM +### **Bots:** - Role Bot - After /strong command, then roles (committees delegates are in) will be administered via emojis. -Screen Shot 2023-05-06 at 11 06 13 PM -Screen Shot 2023-05-06 at 11 06 28 PM +- **[Python 3](https://www.python.org/doc/)**: The primary programming language used for developing the bots due to its simplicity and extensive libraries. +- **[Discord.py (v1.7.3)](https://discordpy.readthedocs.io/en/stable/)**: A Python library used for interacting with the Discord API. It provides an easy way to create bots that can communicate with users on Discord servers. +- **[Asyncio](https://docs.python.org/3/library/asyncio.html)**: Used for writing concurrent code with the async/await syntax. It is essential for handling multiple tasks, such as processing user commands and responding to them in real-time. +- **[Nest_asyncio](https://github.com/erdewit/nest_asyncio)**: A small Python library that allows asyncio to be used in environments that have an already running asyncio event loop (like Jupyter notebooks). +- **[Time](https://docs.python.org/3/library/time.html)**: A standard Python library for manipulating time-related tasks like setting timers, measuring execution time, and delaying actions. +### **Website:** +- **[JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide)**: Used for adding interactivity to the website, including button transitions and dynamic content updates. +- **[CSS](https://developer.mozilla.org/en-US/docs/Web/CSS)**: Used for styling the website to create a visually appealing and responsive design. +- **[HTML](https://developer.mozilla.org/en-US/docs/Web/HTML)**: The backbone of the website, used for structuring the content and elements. -

Website

+--- -For the website, I kept it quite simple; I used essential website elements from javascript, HTML, and CSS. The final result is below. One fun feature is the button transition into a white button, and each social media button is anchored to COMUN's socials. +## 🤖 Discord Bots -The website's code is in the web folder +The bot code can be found in the [**bots folder**](./bots). Below are examples of each bot in action: -The GitHub page is this link as well https://ethanwongca.github.io/canadianonlinemun/ +### **Welcome Bot** +Greets delegates when they enter the COMUN server. -Screen Shot 2023-05-11 at 3 46 13 PM +![COMUN Welcome Bot](https://user-images.githubusercontent.com/87055387/236654482-14f38c98-14b6-496a-925d-cd4b0cf6d69a.png) + +### **Poll Bot** +Creates a poll for voting between three options: abstain, for, and against, and counts up the poll results. + +![Poll Bot Command](https://user-images.githubusercontent.com/87055387/236654479-a42ebbc4-5390-4898-9892-2de130e4e388.png) + +### **Roll Call Bot** +Asks delegates their status (present or present and voting) and stores the delegate's choice. + +![Roll Call Bot](https://user-images.githubusercontent.com/87055387/236654469-a2fcb6ca-d936-48cb-b302-2f82caa570e9.png) + +### **Timer Bot** +Creates a countdown timer with the `/time 60` command. + +![Timer Bot](https://user-images.githubusercontent.com/87055387/236659709-80cca300-af8e-4453-8de1-9072b8e9854a.png) + +### **Role Bot** +Assigns roles (committees delegates are in) via emojis after a specific command. + +![Role Bot Command](https://user-images.githubusercontent.com/87055387/236660798-ec0a5467-956e-435f-b10b-bfba2af5a7a4.png) +![Role Bot Emojis](https://user-images.githubusercontent.com/87055387/236660826-0876c060-7501-4141-9232-2d73a3dbb72f.png) + +--- + +## 🌐 Website + +The website was designed with simplicity in mind using **JavaScript**, **HTML**, and **CSS**. It features interactive elements like button transitions and anchored social media buttons. The website's source code is located in the [**docs folder**](./docs). + +### **GitHub Page**: +Check out the live version of the website [**here**](https://ethanwongca.github.io/canadianonlinemun/). + +![COMUN Website Screenshot](https://github.com/user-attachments/assets/768296e1-a431-4ba7-95b8-bad411e994db) + +--- + +## 💻 Usage + +1. **Clone the repository**: + ```bash + git clone https://github.com/ethanwongca/canadianonlinemun.git + cd canadianonlinemun