Exemplo n.º 1
0
    async def verify(ctx, name):
        code = Util().id_generator(5)

        if not Player(username=name):
            raise PlayerNotFoundError

        db = Database(host=VerifyConfig().get_host(),
                      user=VerifyConfig().get_user(),
                      database=VerifyConfig().get_db(),
                      passwd=VerifyConfig().get_passwd())
        temp_verification = db.create_temp_verfication(
            id=str(ctx.author.id), code=code, uuid=Player(username=name).uuid)

        if temp_verification == 0:
            await ctx.send(
                "Gib zum Verifizieren folgenden Command auf einem der Server ein:\n`/verify "
                + code + "`\nHinweis: Es kann bis zu " +
                str(math.floor(int(CommonConfig().get_update_interval()) /
                               60)) +
                " Minuten dauern, bis du deinen Rang erhälst!")
        elif temp_verification == 1:
            await ctx.send("Account bereits verifiziert!")

        elif temp_verification == 2:
            new_code = Util().id_generator(5)
            db.delete_code(str(ctx.author.id), Player(username=name).uuid)
            db.create_temp_verfication(str(ctx.author.id),
                                       Player(username=name).uuid, new_code)
            await ctx.send(
                "Command wurde bereits eingegeben, deshalb musste ein neuer Command generiert werden:\n`/verify "
                + new_code + "`")
Exemplo n.º 2
0
def accVerification():
    
    with open('C:\\Users\HomePC\Desktop\py\\Nueva carpeta\\accounts.txt', 'r') as myfile:
        data = myfile.readline()
        account = data.split(":")
        mail = str(account[0])
        pwd = str(account[1])
        print(mail)
        print(pwd)

    myUsername = ""
    player = Player(username=myUsername)
    auth = player.authenticate(mail, pwd)
    return auth
Exemplo n.º 3
0
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)
Exemplo n.º 4
0
 async def ontime(self, ctx, name):
     for x in OntimeConfig().get_tables():
         await ctx.send(x + ":  " + Util().formatDate(
             Database(host=OntimeConfig().get_host(),
                      user=OntimeConfig().get_user(),
                      database=OntimeConfig().get_db(),
                      passwd=OntimeConfig().get_passwd()).get_ontime(
                          Player(username=name).uuid, x)))
Exemplo n.º 5
0
 async def queryScammer(self, username):
     try:
         players = Player(username=username)
         uuid = players.uuid
         name = players.username
     except Exception:
         try:
             players = Player(uuid=username)
             uuid = username
             name = players.username
         except Exception:
             return 'INVPLY'
     async with aiofiles.open(os.path.join('database', 'scammer.json'),
                              'r') as f:
         content = json.loads(await f.read())
         if uuid not in content:
             return 'NOTSCM'
         scammerinfo = content[uuid]
         await f.close()
         return [
             scammerinfo['uuid'], scammerinfo['reason'],
             scammerinfo['operated_staff'], name
         ]
Exemplo n.º 6
0
    async def removeScammer(self, *, username):
        try:
            players = Player(username=username)
            uuid = players.uuid
            name = players.username
        except:
            return None
        content = self.scammer
        content.pop(uuid)
        jsonwrite = json.dumps(content, indent=4, sort_keys=True)

        async with aiofiles.open(os.path.join('database', 'scammer.json'),
                                 'w') as f:
            await f.write(jsonwrite)
            await f.close()
        self.scammer = content
        return 'good'
Exemplo n.º 7
0
    async def addScammer(self, *, username, reason, responsible_staff):
        try:
            players = Player(username=username)
            uuid = players.uuid
            name = players.username
        except:
            return None
        content = self.scammer
        content[uuid] = {
            'uuid': uuid,
            'reason': reason,
            'operated_staff': responsible_staff
        }
        jsonwrite = json.dumps(content, indent=4, sort_keys=True)

        async with aiofiles.open(os.path.join('database', 'scammer.json'),
                                 'w') as f:
            await f.write(jsonwrite)
            await f.close()
        self.scammer = content
Exemplo n.º 8
0
    async def whitelist(self, interaction: discord.Interaction, username: str):
        author = interaction.user
        if await helpers.role_helper.has_role(
                interaction.guild, author.id,
                'sub') or await helpers.role_helper.has_role(
                    interaction.guild, author.id, 'mod'):
            print(f'{author}({author.id}) executed Whitelist command.')

            if await is_rcon_enabled():
                if await helpers.role_helper.is_role_defined('sub'):
                    player = None
                    try:
                        player = Player(username=username)
                    except:
                        await interaction.response.send_message(
                            embed=await
                            helpers.embed_helper.create_error_embed(
                                f'`{username}` is not a valid Minecraft account.'
                            ))
                    else:
                        await whitelist_add_user(author.id, username)
                        await interaction.response.send_message(
                            embed=await
                            helpers.embed_helper.create_success_embed(
                                f'Set whitelist for {author.mention}: `{player.username}`',
                                self.client.guilds[0].get_member(
                                    self.client.user.id).color))
                else:
                    await interaction.response.send_message(
                        embed=await helpers.embed_helper.create_error_embed(
                            'Sub role has not been set.'))
            else:
                await interaction.response.send_message(
                    embed=await helpers.embed_helper.create_error_embed(
                        'RCON has not been set up yet, please ask an admin to set it up.'
                    ))
Exemplo n.º 9
0
 async def uuid(self, ctx, name):
     await ctx.send("UUID von " + name + ": " + Player(username=name).uuid)
Exemplo n.º 10
0
    print('載入資料中')
    file = open('message.txt', 'r')
    whitelist_file = open('whitelist.json', 'w')
    invalid_list_file = open('invalidlist.txt', 'w')

    data = file.read()
    names = data.split(',')
    whitelist = list()

    previous_name = ''
    duplicate = 0
    invalid = 0
    valid = 0
    for name in names:
        try:
            player = Player(username=name)
            if previous_name != name:
                whitelist.append({'uuid': player.uuid, 'name': name})
                valid += 1
                print(name)
                print(player.uuid)
            else:
                duplicate += 1
                print('玩家 ID 重複')
                print('玩家 ID:' + name)
            previous_name = name
        except KeyError:
            invalid += 1
            invalid_list_file.write(name + '\n')
            print('玩家不存在')
            print('玩家 ID:' + name)