Skip to content

Commit 30f2bd4

Browse files
committed
Adding roles
NA RAZIE TYLKO NA TESTOWYM SERWERZE - zrobione dodawanie roli, do zrobienia usuwanie roli
1 parent bb04319 commit 30f2bd4

File tree

2 files changed

+42
-0
lines changed

2 files changed

+42
-0
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
.idea/
22
*.*~
33
node_modules
4+
venv/

bot.py

+41
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99

1010
load_dotenv()
1111
TOKEN = os.getenv('DISCORD_TOKEN')
12+
VERIFICATION_MESSAGE_ID = 820693368182013952
13+
VERIFICATION_ROLE_ID = 820690464100581377
1214

1315
client = discord.Client()
1416

@@ -30,6 +32,7 @@
3032
channel_ids = []
3133
trivia_channel_ids = []
3234
events_channel_ids = []
35+
roles_channel_ids = []
3336

3437

3538
@aiocron.crontab('15 5 * * *')
@@ -60,6 +63,34 @@ async def cronjob4():
6063
await client.get_channel(channel_id).send("Zapraszamy na kanał głosowy Relaks na wspólną kawę! ☕")
6164

6265

66+
67+
def compare_emojis(reaction_emoji):
68+
return reaction_emoji.name == "🔑"
69+
70+
@client.event
71+
async def on_raw_reaction_add(reaction):
72+
print("tutaj")
73+
print(reaction.emoji.name)
74+
if reaction.message_id != 820693368182013952:
75+
return
76+
if compare_emojis(reaction.emoji):
77+
verification_role = discord.utils.get(reaction.member.guild.roles, id=VERIFICATION_ROLE_ID)
78+
await reaction.member.add_roles(verification_role)
79+
print("role added")
80+
81+
@client.event
82+
async def on_raw_reaction_remove(reaction):
83+
if reaction.message_id != 820693368182013952:
84+
return
85+
if compare_emojis(reaction.emoji):
86+
# guild_id + user_id -> member.id / member object
87+
guild = client.get_guild(reaction.guild_id)
88+
member = discord.utils.get(guild.members, id=reaction.user_id)
89+
# member = client.get_member(reaction.user_id)
90+
verification_role = discord.utils.get(guild.roles, id=VERIFICATION_ROLE_ID)
91+
await member.remove_roles(verification_role)
92+
print("role removed")
93+
6394
@client.event
6495
async def on_ready():
6596
global channel_ids
@@ -73,6 +104,16 @@ async def on_ready():
73104
trivia_channel_ids.append(channel.id)
74105
if 'wydarzenia' in channel.name:
75106
events_channel_ids.append(channel.id)
107+
if 'role' in channel.name:
108+
roles_channel_ids.append(channel.id)
109+
try:
110+
msg = await channel.fetch_message(VERIFICATION_MESSAGE_ID)
111+
print(msg.content)
112+
except discord.NotFound:
113+
# TODO zmień na coś lepszego
114+
print("Wiadomość weryfikacyjna o tym ID nie istnieje")
115+
# await client.get_channel(channel.id).send("bot is online")
116+
76117

77118

78119
client.run(TOKEN)

0 commit comments

Comments
 (0)