我最近做了一个新的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')
有人知道这个问题的解决方案吗?