我正在制作一个机器人,它会自动将模因从reddit发送到指定的通道。唯一的问题是,我不知道如何创建一个命令,让用户自定义他们希望将任务发布到哪个通道并获得id。
我试过了
@client.command()
async def memer config(ctx):
await client.send('Where do you want the automemer to post?')
这显然不起作用,因为我不知道如何得到执行命令的人的消息,并检查它是否是一个有效的通道提到。
在Discord.py中,我如何让我的机器人私下向服务器中的其他人发送消息。比如,如果我想在服务器上给一个我还没有加好友请求的人发消息,我可以使用这个机器人。我希望它使用像"/{ user }{ message }“这样的斜杠命令,机器人将为它们显示消息,并使发送它的用户只能看到它。如何使用discord.py完成此操作?
我试着编写了一个不一致的机器人,一个接一个地检查几条消息。因此,如果有人写"Hello",机器人应该写"Hello there“,并检查下面的消息"How are you?”是。 @client.event
async def on_message(message):
if 'hi' in message.content:
await message.channel.send('Hello there.')
if 'How are you?' in message.
我正在使用discord.py异步库上的wait_for_response,但是,我的代码 await self.Nao.say("What is your name? (Cannot exceed over 100 characters)")
usrname = await self.Nao.wait_for_message(author=ctx.message.author)
await self.Nao.say("What is your Age? (Cannot exceed over 100 characters)")
usrage = await
我如何能够等待一个反应,然后使用该反应作为响应? 我想让代码做的是: 用户-> .buy Bot ->“你想买什么?” 用户->与1个️⃣发生反应 机器人->表示对reaction 1️⃣的响应 到目前为止,我的代码如下: message = await ctx.send("How would you like to purchase")
for emoji in ('0️⃣', '1️⃣', '2️⃣', '3️⃣', '4️⃣', '5️⃣'):
我正在运行一个discord.py机器人,我希望能够通过空闲控制台发送消息。我怎么才能做到这一点,而不停止机器人的其他动作?我检查过asyncio但找不到通道。我在找这样的东西: async def some_command():
#actions
if input is given to the console:
#another action 我已经尝试了pygame,但没有结果,但我也可以尝试任何其他建议的pygame。
我使用discord.py库制作了一个不和谐机器人,它的目标是在几个语音频道中播放网络广播。基本上,每个通道的音频流都是相同的。 我现在要做的是: voice_channel.play(discord.FFmpegPCMAudio(stream_url)) 然而,每个FFmpegPCMAudio都占用了我10%的CPU,而且每个vc都有一个,所以最终我的机器人在播放10个频道时崩溃了很多次(这并不算多)。 因为它是同一个流,所以我尝试了以下方法: player = FFmpegPCMAudio(stream_url)
for voice_channel in vcs:
voice_c
我正在做一个discord.py重写的机器人,并且试图通过dm来创建一个嵌入的命令。问题是机器人不等待消息。这是我的代码,谢谢! @client.command()
async def c_embed(ctx):
user = ctx.author
perms = ctx.author.permissions_in(ctx.channel)
if perms.administrator:
em = discord.Embed(description='What would you like the title to be?', color = discor
我创建了一个禁止所有不一致的命令,通过使用堆栈溢出的一些教程,但问题是机器人试图禁止自己,并优先第一,使机器人完全不工作,有什么建议吗?下面是我的代码:
async def ban(ctx):
guild = ctx.message.guild
for member in ctx.guild.members:
try:
await member.ban(reason="Banned")
print(f"Banned {member.display_name}!")
e
你好,我正在用一种方法创建一个机器人,它从文本文件中读取列表,如果用户发送消息,机器人将禁止或踢掉该用户,而不需要键入命令。它的工作与删除,所以我使它类似于ban或kick方法,似乎没有错误,但事件不运行,这是我所拥有的,是的,我把读取的txt文件在代码中,所以它正在读取txt文件,而不是踢或禁止。
@client.event
async def kick(member : discord.member,message):
for kickable_word in kickable_words:
if kickable_word in message.content:
我在做一个命令,如果你用同意的反应来回应机器人,它就会发送一个核弹。这很好,但我不能让机器人回答不同,如果你选择其他选项或超时。我现在的代码如下。谢谢你的帮忙
async def nuke(ctx):
yas = '✔️'
nay = '❌'
message = await ctx.send("Are you sure that you want to use your nukes?")
await message.add_reaction(yas)
await message
当我发送消息时,如何使机器人检查角色,然后回复该消息,我已经尝试了这么长时间,但无法弄清楚。这是tje第一次做机器人,所以试着变得更好。这是行不通的,只是垃圾邮件,即使是我没有作用
@client.event
async def on_message(ctx):
user = ctx.author
role = 1008827487024849097
if role in user.guild.roles:
if ctx.content == "hi":
await ctx.reply("hi")
我正在尝试将我的机器人连接到一个语音频道,并尝试了我能在网上找到的每一个解决方案,但都没有效果。当我调用await channel.connect()时,程序只挂起,什么也不做。
代码片段:
@commands.command()
async def join(self, ctx):
if not ctx.message.author.voice:
ctx.send("You are not in a voice channel")
else:
channel = ctx.message.author.voice.voi
我正在制作我的discord.py机器人,我想要一种发送自定义消息的方式。我试过使用on_message,但在线程处理方面一直存在错误。
@bot.event
async def on_ready():
print(f'{bot.user.name} is now on Discord!')
#Here I want a loop that asks for input, then, if it gets it, the bot sends it.
我试过使用Thread,但我不能在线程中使用await。
#I want to do somthi