You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
An automated Telegram bot designed to manage the CS Internship Program queue group. It streamlines onboarding, prevents spam, simplifies admin tasks, and integrates seamlessly with Azure DevOps to track candidates and manage group operations efficiently.
**CS-Queue-Bot** is a Node.js-based Telegram bot built to streamline the management of the CS Internship Program's queue group. It automates new member onboarding, enforces anti-spam measures, provides admin tools, and integrates with Azure DevOps to efficiently track candidate progress and activity.
11
12
12
13
## Features
13
14
14
-
-**Automated Onboarding:** Welcomes new members, checks for required usernames, and guides them through the process.
15
-
-**Spam Protection:** Detects and blocks users who send excessive messages in a short period.
16
-
-**Admin Commands:** Includes commands for version checking, user management (ban/unban), and adding users to the Azure DevOps queue.
17
-
-**Azure DevOps Integration:** Automatically creates and links work items for new users in Azure DevOps.
18
-
-**Error Handling & Logging:** Notifies admins of errors and provides links to logs for debugging.
19
-
-**Express Health Check:** Exposes a simple HTTP endpoint for deployment health monitoring.
15
+
-**Automated Onboarding:** Welcomes new members, checks for required usernames, and guides them through the process.
16
+
-**Spam Protection:** Detects and blocks users who send excessive messages in a short period.
17
+
-**Admin Commands:** Includes commands for version checking, user management (ban/unban), and adding users to the Azure DevOps queue.
18
+
-**Azure DevOps Integration:** Automatically creates and links work items for new users in Azure DevOps.
19
+
-**Error Handling & Logging:** Notifies admins of errors and provides links to logs for debugging.
20
+
-**Express Health Check:** Exposes a simple HTTP endpoint for deployment health monitoring.
20
21
21
22
## Technologies Used
22
23
23
-
-**Node.js** — JavaScript runtime for server-side logic
24
-
-**Telegraf** — Modern Telegram Bot Framework for Node.js
25
-
-**Express** — Lightweight web server for health checks and deployment
26
-
-**Axios** — Promise-based HTTP client for API requests (Azure DevOps)
27
-
-**dotenv** — Loads environment variables from `.env` files
28
-
-**Azure DevOps REST API** — For work item and candidate management
24
+
-**Node.js** — JavaScript runtime for server-side logic
25
+
-**Telegraf** — Modern Telegram Bot Framework for Node.js
26
+
-**Express** — Lightweight web server for health checks and deployment
27
+
-**Axios** — Promise-based HTTP client for API requests (Azure DevOps)
28
+
-**dotenv** — Loads environment variables from `.env` files
29
+
-**Azure DevOps REST API** — For work item and candidate management
29
30
30
31
## Installation Instructions
31
32
32
33
### Prerequisites
33
34
34
-
-Node.js (v16 or higher recommended)
35
-
-npm (Node package manager)
35
+
- Node.js (v16 or higher recommended)
36
+
- npm (Node package manager)
36
37
37
38
### Steps
38
39
@@ -65,12 +66,11 @@ Create a `.env` file in the `bot/` directory with the following variables:
@@ -86,14 +86,14 @@ Below is a complete list of available bot commands, with details on their usage
86
86
87
87
**Other Bot Behaviors:**
88
88
89
-
- **Spam Protection:** If a user sends too many messages in a short time, they are automatically blocked and notified. Admins are alerted with an option to unblock.
90
-
- **New Member Onboarding:** When a new user joins, the bot:
91
-
- Welcomes them
92
-
- Checks for a username
93
-
- Guides them to set a username if missing
94
-
- Registers them in Azure DevOps if eligible
95
-
- **Unban via Inline Button:** Admins can unblock users via an inline button in the admin group.
96
-
- **Error Handling:** All errors are reported to the admin group with details and log links.
89
+
- **Spam Protection:** If a user sends too many messages in a short time, they are automatically blocked and notified. Admins are alerted with an option to unblock.
90
+
- **New Member Onboarding:** When a new user joins, the bot:
91
+
- Welcomes them
92
+
- Checks for a username
93
+
- Guides them to set a username if missing
94
+
- Registers them in Azure DevOps if eligible
95
+
- **Unban via Inline Button:** Admins can unblock users via an inline button in the admin group.
96
+
- **Error Handling:** All errors are reported to the admin group with details and log links.
0 commit comments