Discord.py-标记随机用户
我最近开始使用Discord.py。 我的问题是:如何标记一个随机用户,例如,如果您编写!在聊天中添加标签?我还没有找到答案Discord.py-标记随机用户,discord,discord.py,Discord,Discord.py,我最近开始使用Discord.py。 我的问题是:如何标记一个随机用户,例如,如果您编写!在聊天中添加标签?我还没有找到答案 if message.content.startswith(“+best”): 用户ID=“” 从客户端.send_消息(message.channel,,:%s是最佳的“%userid”) 谢谢以下是我的做法: 在服务器中生成用户列表 使用random.choice从列表中选择随机用户 在您的消息中提及使用API的用户(或者如果您愿意,请手动执行) 以下是实现: 来自
if message.content.startswith(“+best”):
用户ID=“”
从客户端.send_消息(message.channel,,:%s是最佳的“%userid”)
谢谢以下是我的做法:
random.choice
从列表中选择随机用户来自随机导入选择
如果message.content.startswith(“+best”):
user=choice(message.channel.guild.members)
从客户端.send_消息(message.channel,,:%s是最好的“%user.notice”)
详细阐述美学的答案,你可以这样做:
import random
if message.content.startswith('+best'):
channel = message.channel
randomMember = random.choice(channel.guild.members)
await channel.send(f'{randomMember.mention} is the best')
请注意,代码在discord.py的重写版本中,而不是异步版本-如果您使用的是异步版本,我建议您迁移到重写,因为对discord.py异步版本的支持已停止。要了解更多信息,请参阅找到的迁移文档
如果您需要帮助,请告诉我-快乐编码 首先,我建议您安装,因为它更高级 然后,我建议您使用
@client.command()
decorator创建bot命令,如下所示:
import random
if message.content.startswith('+best'):
channel = message.channel
randomMember = random.choice(channel.guild.members)
await channel.send(f'{randomMember.mention} is the best')
@client.command()
异步def testcommand(ctx):
通过
现在您已经完成了这两件事,有几种方法可以做到这一点。例如,如果您不希望bot提到命令调用程序或其他bot,可以编写:
来自随机导入选择
从discord.ext导入命令
@client.command()
@commands.guild_only()
异步def标签(ctx):
尝试:
等待ctx.send(选项(tuple(如果不是member.bot和member!=ctx.author,则为ctx.guild.members中的成员指定member.notice)))
除索引器外:
等待ctx.send(“您是其中唯一的人类成员!”)
如果您不希望bot提到其他bot,但它可以提到命令调用程序,请使用:
来自随机导入选择
从discord.ext导入命令
@client.command()
@commands.guild_only()
异步def标签(ctx):
等待ctx.send(选项(tuple(如果不是member.bot,则为ctx.guild.members中的member.notice)))
如果您希望机器人提及任何公会成员、人类或机器人,请使用:
来自随机导入选择
从discord.ext导入命令
@client.command()
@commands.guild_only()
异步def标签(ctx):
等待ctx.send(选项(tuple(ctx.guild.members中成员的member.notice)))
我玩了一会儿,终于成功了,你可以试试
@client.command(pass\u context=True)
异步(ctx):
user=choice(ctx.message.channel.guild.members)
等待ctx.send(f'{ctx.message.author.title}拥抱{user.title}'))
这里混合了异步和重写分支的一些语法。在0.16版上,guild
应该是server
,在1.0.0版上,client.send\u message(message.channel,
应该是message.channel.send(…
忽略On\u message Traceback中的异常(最近一次调用):文件“D:\Development\Projects\mymanager.py\venv\lib\site packages\discord\client.py”,第307行,来自getattr(self,event)(*args,**kwargs)文件“D:/Development/Projects/mymanager.py/main.py”的运行事件生成,第62行,在on_message user=choice(message.channel.server.members)文件“C:\Users\HP\AppData\Local\Programs\Python\Python35-32\lib\random.py”中,选项返回序列[i]第265行TypeError:“dict_values”对象不支持索引