Discord bot dla NeuroMeet — wybór kół naukowych i ról przez reakcje emoji.
Koła naukowe zarządzane są dynamicznie przez slash commands — bez edycji plików ani restartów.
pip install -r requirements.txtcp .env.example .env
# uzupełnij wartości| Zmienna | Opis |
|---|---|
DISCORD_TOKEN |
Token bota z Discord Developer Portal |
GUILD_ID |
ID serwera (slash commands pojawiają się natychmiast) |
WELCOME_CHANNEL_ID |
Kanał powitalny |
ROLE_CHANNEL_ID |
Kanał z rolami |
ADMIN_ROLE_ID |
Rola do komend admina (0 = tylko administratorzy serwera) |
ROLE_NEUROINFORMATIKA … |
ID ról w dziedzinie (statyczne) |
python send_role_messages.pySkopiuj wypisane ROLE_MESSAGE_ID_TEAMS i ROLE_MESSAGE_ID_FIELDS do .env.
python main.py/kn_create name:Solvro emoji:<:solvro:123456> reference_role:@KN category:#koła-naukowe
Bot automatycznie:
- Tworzy rolę (skopiowane uprawnienia i poziom z
reference_role) - Tworzy prywatny kanał tekstowy (widoczny tylko dla członków tej roli)
- Dodaje emoji do wiadomości z rolami
- Wysyła powitanie na nowym kanale
Gdy użytkownik kliknie emoji → dostaje rolę → kanał staje się widoczny.
Gdy usuwa emoji → traci rolę → kanał znika.
- Wgraj logo jako custom emoji na serwerze Discord
(Ustawienia serwera → Emoji → Dodaj emoji) - Skopiuj pełną składnię:
<:nazwa:ID>(wpisz\:nazwaemoji:na Discordzie) - Podaj ją w polu
emojiprzy/kn_create
| Komenda | Opis | Uprawnienia |
|---|---|---|
/kn_create name emoji reference_role [category] [role_color] |
Utwórz KN z nową rolą i kanałem | Admin |
/kn_add emoji name role [channel] |
Podepnij istniejącą rolę/kanał jako KN | Admin |
/kn_remove emoji |
Usuń KN z listy (rola i kanał na serwerze pozostają) | Admin |
/kn_list |
Pokaż listę KN z rolami i kanałami | Wszyscy |
/kn_refresh |
Wymuś sync wiadomości i reakcji | Admin |
- Manage Roles
- Manage Channels
- Add Reactions
- Read/Send Messages
- View Channels
Rola bota musi być wyżej niż role, które tworzy.
/kn_create name:Neuron emoji:<:neuron:ID> reference_role:@KN
/kn_create name:Gradient emoji:<:gradient:ID> reference_role:@KN
/kn_create name:IgNite emoji:<:ignite:ID> reference_role:@KN
/kn_create name:Solvro emoji:<:solvro:ID> reference_role:@KN
/kn_create name:Neuro emoji:<:neuro:ID> reference_role:@KN
/kn_create name:Axion emoji:<:axion:ID> reference_role:@KN
/kn_create name:Emognition emoji:<:emognition:ID> reference_role:@KN
Konfiguracja zapisywana jest w kn_config.json — przeżywa restarty bota.