我只能在Python Discord Bot本身上使用Userinfo,而不能在任何用户上使用

时间:2020-10-14 18:50:22

标签: python discord

我最近做了一个新的Discord Bot,可悲的是,当我想输入!userinfo时,我没有从任何Server-Member名称中得到响应,只是从bot自身中获得了我的信息,你们知道吗我做错了什么?


import asyncio

import discord
from discord import Member

client = discord.Client()


@client.event
async def on_ready():
    print('Wir sind eingeloggt als User {}'.format(client.user.name))
    client.loop.create_task(status_task())


async def status_task():
    while True:
        await client.change_presence(activity=discord.Game('discord.gg/Sombreroecke'), status=discord.Status.online)
        await asyncio.sleep(3)
        await client.change_presence(activity=discord.Game('Mein cooler Bot!'), status=discord.Status.online)
        await asyncio.sleep(3)


@client.event
async def on_message(message):
    if message.author.bot:
        return
    if '!help' in message.content:
        await message.channel.send('**Hilfe zum PyBot**\r\n'
                                   '!help - Zeigt diese Hilfe an')
    if message.content.startswith('!userinfo'):
        args = message.content.split(' ')
        if len(args) == 2:
            member: Member = discord.utils.find(lambda m: args[1] in m.name, message.guild.members)
            if member:
                embed = discord.Embed(title='Userinfo für {}'.format(member.name),
                                      description='Dies ist eine Userinfo für den User {}'.format(member.mention),
                                      color=0x22a7f0)
                embed.add_field(name='Server beigetreten', value=member.joined_at.strftime('%d/%m/%Y, %H:%M:%S'),
                                inline=True)
                embed.add_field(name='Discord beigetreten', value=member.created_at.strftime('%d/%m/%Y, %H:%M:%S'),
                                inline=True)
                rollen = ''
                for role in member.roles:
                    if not role.is_default():
                        rollen += '{} \r\n'.format(role.mention)
                if rollen:
                    embed.add_field(name='Rollen', value=rollen, inline=True)
                embed.set_thumbnail(url=member.avatar_url)
                embed.set_footer(text='EmbedFooter')
                mess = await message.channel.send(embed=embed)
                await mess.add_reaction('?')
                await mess.add_reaction('a:tut_herz:662606955520458754')




client.run('YourToken')

有人知道这个问题的解决方案吗?

0 个答案:

没有答案