This repository has been archived by the owner on Nov 8, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSnappy.py
72 lines (51 loc) · 2.45 KB
/
Snappy.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
import asyncio
import math
import discord
from discord.ext import commands, tasks
from mojang_api import Player
from CommandErrorHandler import CommandErrorHandler
from CoreCog import CoreCog
from Data import Database, ModulesConfig
from Data import OntimeConfig, VerifyConfig, CommonConfig, RolesConfig, TokenConfig
from Data import Util
from Errors import PlayerNotFoundError
from TagCog import TagCog
from VerifyCog import VerifyCog
bot = commands.Bot(command_prefix='?')
bot.remove_command('help')
@bot.event
async def on_ready():
print('Logged on as', bot.user)
update_roles.start()
await bot.change_presence(activity=discord.Game(name="?help"))
@tasks.loop(seconds=int(CommonConfig().get_update_interval()))
async def update_roles():
guild = bot.get_guild(int(CommonConfig().get_guild_id()))
roles = RolesConfig().get_roles()
mc_players = Database(host=VerifyConfig().get_host(), user=VerifyConfig().get_user(), database=VerifyConfig().get_db(), passwd=VerifyConfig().get_passwd()).get_data()
for mc_player in mc_players:
if guild.get_member(int(mc_player['discord'])) is not None:
member = guild.get_member(int(mc_player['discord']))
if mc_player['mcrole'].lower() in roles:
role = guild.get_role(int(roles[mc_player['mcrole'].lower()]))
if role not in member.roles:
print(member.name + "'s Rollen wurden geupdatet")
await member.add_roles(role)
await member.send("Deine Rollen wurden aktualisiert!")
verified = guild.get_role(int(CommonConfig().get_verified_role()))
if verified not in member.roles:
print(member.name + " hat sich verifiziert")
await member.add_roles(verified)
await member.send("Du wurdest erfolgreich verifiziert!")
await guild.get_channel(int(CommonConfig().get_general())).send(member.mention + " hat sich erfolgreich verifiziert!")
await member.edit(nick=Player(uuid=mc_player['uuid']).username)
def setup(setup_bot):
setup_bot.add_cog(CommandErrorHandler(setup_bot))
if ModulesConfig().is_enabled("core"):
setup_bot.add_cog(CoreCog(setup_bot))
if ModulesConfig().is_enabled("verify"):
setup_bot.add_cog(VerifyCog(setup_bot))
if ModulesConfig().is_enabled("tags"):
setup_bot.add_cog(TagCog(setup_bot))
setup_bot.run(TokenConfig().get_token())
setup(bot)