获取有关discord.py消息的反应列表
我一直在试图得到一个关于不和谐信息的反应列表,但我不知道我做错了什么。这是我的密码 async def reactionGetter(ctx): msg = await ctx.send('Message to put reactions on') await msg.add_reaction("✅") time.sleep(5) print(msg.reactions) 代码成功地添加了反应,但打印出一个空列表。我遗漏了什么?之所以出现这种
我一直在试图得到一个关于不和谐信息的反应列表,但我不知道我做错了什么。这是我的密码 async def reactionGetter(ctx): msg = await ctx.send('Message to put reactions on') await msg.add_reaction("✅") time.sleep(5) print(msg.reactions) 代码成功地添加了反应,但打印出一个空列表。我遗漏了什么?之所以出现这种
我的问题很简单: 我正在计划一个事件,该事件将删除所有消息,但我希望永远不要从channel.purge中删除第一条消息。 由于用户可以多写2/3条消息,如果我想在使用channel.purge时更准确,他们可以保留。我知道mee6的一个功能没有删除2周前的消息。该功能允许您使用check参数过滤删除的消息。这意味着您可以创建自己的检查,以检查邮件是否符合您的要求: def check(m): messageID = 1234567890 # Replace this with the
我使用了一些技巧,但它们不起作用。 例如: @client.command() async def ping(ctx): await ctx.send('Pong! {0}'.format(round(bot.latency, 1))) 请帮忙 我使用了以下代码: async def ping(ctx): if round(client.latency * 1000) <= 50: embed=discord.Embed(title="PING&
我使用discord.py和pythonv3.9.0创建了一个Hello机器人,我不希望我的机器人从机器人读取任何消息。我该怎么做 我试着查看有关堆栈溢出的其他问题,但它们都是至少5年前提出的 我已经有了它,这样它就不会读取自己发送的消息。顺便说一下,我的命令前缀是' 这是我的密码: import os import discord # * Clear the screen def clear(): if os.name == 'nt': os.system('cls'
我一直在尝试用python制作一个不和谐的机器人。我已经在消息事件上尝试了client,并发现了关于discord.ext。我写了非常简单的代码,花了4个小时的时间从头开始,但仍然无法找到问题所在。我知道的是,代码成功地连接到客户机,并且vscode没有显示任何问题。机器人什么都不响应 代码是: 来自discord.ext导入命令 bot=commands.bot(命令前缀=“^”) @机器人命令 异步def测试(ctx,arg): 等待ctx发送(arg) client.run(此处为令牌)
我试图停止并重新启动任务,但出现错误。我做错了什么?先谢谢你 编辑:添加了错误代码 @tasks.loop(minutes=1) async def FunctionTask(): print("Task running") @client.event async def on_ready(): FunctionTask.start() @client.command() async def start(ctx): FunctionTask.restart() @c
我想,作为一名管理员,添加点到一个特定的成员的余额 知道如何创建一个JSON文件,其中包含某人拥有的所有“点” 导入不一致 从discord.ext导入命令 随机输入 导入操作系统 导入json #这行代码为bot提供了一个comand前缀 bot=commands.bot(command_prefix=“/”) #这行代码告诉bot启动 @机器人事件 _ready()上的异步定义: 打印(“机器人现在在线!”) @命令(pass\u context=True) 异步def排行榜(ctx): 等
我创建了一个事件,如果用户发送特定消息,它会将消息发送回例如,如果用户说“你好”,机器人会说“你好”。我发现在下面的代码中,第一个elif有一个or。因此,如果用户说ddos或hack,它将进入无限循环并继续发送,你不能这么说。如果用户输入hello,机器人会在那里发送一次hello,然后进入无限循环并发送,你不能这么说。你知道为什么吗 @client.event async def on_message(message): msg = message.content.lower()
我需要帮助修复我的代码 @client.command @commands.cooldown(5, 20, commands.BucketType.user) async def search(ctx): await open_account(ctx.author) user = ctx.author users = await get_bank_data() peen = users[str(user.id)]["wallet"] t
所以我想制作一个文本游戏,每当调用命令的作者做出反应时,编辑角色。到目前为止,我添加反应的代码: @client.command() async def test(ctx): msg = await ctx.send('Hi') up = '⬆' down = '⬇' left = '⬅' right = '➡' await msg.add_reaction(up) await msg.add_reaction(down) awai
我想用另一个命令编辑机器人的旧消息trought,例如: user: !cmds bot: *commands list* user: !next bot: *edits old message into a new one* 我自己尝试过很多次,但每次都失败了,有人能帮我吗 我是如何做到的: @client.command 异步定义测试(): 嵌入=不协调。嵌入(title=“Page1”) 等待ctx.send(嵌入=嵌入) @客户端事件 异步def on_命令(消息): embed2=
我不熟悉堆栈溢出,但这似乎是一个好地方 我希望我的discord机器人在一个频道中发送一条消息,如果一个网站宕机,然后在它恢复时发送另一条消息。我不希望它不断地发送消息,只有当它连续3次收到错误(如404、网关错误或连接超时)时(以避免错误消息),然后当它返回时再发送另一个错误。我试过谷歌,但没有找到任何东西 提前感谢您的帮助 您可以使用该网站进行此操作。您可以使用BeautifulSoup获取html代码,并检查站点是否关闭。然后你可以使用它定期检查网站。你尝试过什么吗?好吧,我尝试过谷歌搜索
我正试图让一个机器人打印出一条用户有反应的不和谐消息的文本。这就是我到目前为止所做的: @bot.event async def on_raw_reaction_add(payload): print(payload) channel = bot.get_channel(payload.channel_id) await channel.fetch_message(payload.message_id) print("message text here&
我想为我的机器人制作一个石头剪纸游戏: 但问题是,代码没有再进一步,而是显示了一个错误 代码如下: @client.command(别名=[“石头、布、剪刀”、“rps”) 异步定义rps(ctx):#rps是岩石、纸张、剪刀的缩写 表情符号=['✊', ' reaction\u add给出了一个反应和用户的元组,因此在chk函数中,您需要同时拥有反应和用户。您还应该在chk函数中使用和user==ctx.author,以确保用户是相同的 @client.command(别名=[“石头、布、剪
所以我一直在使用discord.py来构建我自己的discord机器人。然而,在使用pymongo时,我遇到了这个我无法理解的错误。基本上,我希望这个函数作为一个累加系统运行,可以显示成员在执行命令时收到的警告数量(在我的例子中是黄牌)。但它一直在说“discord.ext.commands.errors.CommandInvokeError:Command引发了异常:InvalidDocument:无法对对象进行编码:{1},类型: 我不确定这意味着什么,但这是代码的一部分(是的,机器人可以正
所以,我一直试图让我的机器人响应一个特定的关键字,但是当我这样做的时候,机器人要么不响应,要么给我一堆错误。我试过几种方法,但运气不好。如果有人能做到这一点,我会很高兴这里是我尝试使用的方法之一 if message.content == "keyword": await client.send_message(message.channel, "Response {0.author.mention}") 您可以通过以下两种方式之一执行此操作:使用commands扩展名,或在o
我只希望某些服务器能够使用此功能,如下所示 我想知道是否有一种方法可以使它只有特定的服务器ID可以使用这个命令 @bot.command(pass_context = True) async def shittymeme(ctx): api = 'https://api.imgflip.com/get_memes' response = requests.get(api) url = random.choice(response.json()['data']['memes
我正在创建一个新的bot(我已经是第三次了,但已经有一段时间了),我正在创建一个简单的ban命令。它与我的其他命令一样,只是添加了@commands.has_permissions()decorator和一个用于显示禁令的嵌入命令。但是,在添加了一些打印以显示它到达的位置后,它并没有通过wait user.ban() #--BAN--- @client.command(name=“ban”,pass\u ctx=True) @commands.has_权限(ban_members=True) 异
我已经尝试了好几天(甚至没有成功地要求)让反应取决于信息。我正在处理的命令是一个投票,经过一段时间后,通过精确计算一个反应的投票数,自动写入结果。 我想使用自定义表情符号,但我不能,甚至尝试使用正常的表情符号,我甚至不计算它们,我真的不知道该怎么做。 这是我用来测试的代码,如果可能的话,我想知道如何通过添加自定义表情来解决这个问题 @client.command(别名=[“cr”]) @commands.has_权限(administrator=True) 异步定义内容(ctx,*,建议): 消
我已经试过3次了,我的计划是删除用户的所有角色,在ctx.send()中写入角色,用频道中的旧角色发送一条消息,然后发送一条消息,说明用户被监禁及其原因,并给出囚犯角色 “BabaYaga”是adm的角色;'D 001'是囚犯角色 代码01: 制动器3 @client.command() @commands.有任何角色('BABAYAGA') 异步def det(ctx,成员:discord.member=None,role=discord.Guild.roles,*,reason=None):
我目前正在编程一个bot,我的第一个目标是让bot受到欢迎,并与加入或离开的成员说再见,但是bot没有发送任何信息,甚至没有显示任何错误 @客户端事件 _成员_joinmember上的异步定义: 打印系统:成员已加入服务器! def sprintstr: 对于str+'\n'中的c: sys.stdout.writec sys.stdout.flush 时间到了,睡3/90 sprint机器人:哦,嘿,看起来像+成员。name+已经加入。。 将消息发送到特定频道 channel=client.g
这是简化的代码 import time import discord x=0 while True: x=x+1 time.sleep(100) #here I want to send 'x' to my discord channel 假设我的机器人已经配置好并连接好,我只需要一个无条件发送消息的功能。要做到这一点,你必须等到机器人准备好。因此,您可以在on_ready事件中创建此while循环。然后,您必须获取将发送消息的discord.Channel对象 x=0 @
我有个问题。似乎我不知道如何重置命令冷却时间,而不是在实际的命令本身 @bot.command() @commands.cooldown(1900,type=commands.BucketType.member) 异步def rob(ctx,左:discord.Member): guild=ctx.author.guild server\u members=guild.members 如果留在服务器_成员中: 打印('找到用户') random\u chance=random.randint(0
所以这个命令有效,除了 @commands.command() async def se(self, ctx, emoji: discord.Emoji): await ctx.send(f"**Name:**Illdo this later **Link:**{emoji.url}") 它只适用于来自bot所在服务器的emoji。 有人知道如何让它能够获得任何服务器emojis的链接吗?即使机器人不在里面 若你们想的话,我还需要帮助显示表情
因此,我使用discord.py rewrite,下面有一段代码,我用它来生成一个命令,可以连接和断开用户与语音频道的连接。由于某些原因,我得到了错误:“非类型”没有“通道”属性。有人能解释为什么会这样吗 @client.command() async def join(ctx): channel = ctx.author.voice.channel await ctx.voice_client.connect() await ctx.send("You ar
我用discord.py表单编写了一个代码。该代码用于服务器上的应用程序。某个频道当前正在广播是否已被接受或拒绝。但这应该作为DM发送。它是如何工作的?代码如下: accepted = await confirm.start() partners = bot.get_channel(849693369385877504) em = discord.Embed(title=results.username, description="Deine Bewerbung wurde an
在第12行else:是无效语法(未知,第12行)pylint(语法错误)我试图在非机器人程序的消息将发送到另一个通道id等于657899187957923852的通道时执行此操作 对于导入,我不知道我使用了什么,也不知道这个命令(已编辑)所需的导入。您需要在if语句下的块中包含一些代码 @bot.event async def on_message_delete(message): if(message.author != bot.user): return e
我有一个命令,检查有关给定玩家和机器人的信息。最后一个错误是在显示“活动”和“成员”时,因为当您输入一个可用的成员时,表示该成员不可用。 我使用以下命令:member.status `client = discord.Client() intents = discord.Intents.default() intents.presences = True client = commands.Bot(command_prefix="q.", intents=intents
我试图让机器人在用户加入公会时向欢迎频道发送消息,但我所做的一切都不起作用 机器人 import discord import config TOKEN = config.settings['token'] client = discord.Client() @client.event async def on_guild_join(guild): channel = client.get_channel(config.channels['welcome']) await
我正在执行一个命令,该命令将信息从一台服务器记录到一台主服务器,我想计算一台服务器在“是”确认后记录信息的次数,然后将其显示在屏幕上。我该怎么做? 我的剧本: @bot.command(name=“log”) 异步定义日志(ctx,名称:str,其中:str,太:str,时间:str,信息:str): 嵌入=不和谐。嵌入( color=discord.color.red(),title=“确认日志?”) embed.add_字段(name=“name:”,value=name,inline=Tr
在下面的代码中,我将这些反应设置为对下一个任务的确认。也就是说,如果反应是否,则函数不会继续将某些数据附加到dict中。超时也是如此。测试时,只有超时有效并发送它应该发送的消息。然而,当对其中一个反应作出反应时,什么也不会发生。我第一次面对这样的反应,不知道我把什么搞砸了 yes=✔' 否='您的支票将始终返回false, (reaction.message.id==message.id)和(user.id==ctx.author.id)和(str(reaction)在y中)和(str(reac
很抱歉这个问题。我正试图用Python制作一个不和谐的机器人。我想要成员对象。我只知道用户的ID。我尝试了以下操作:user=discord.Guild.get\u member(user\u id=user id)但我遇到了以下错误:TypeError:get\u member()缺少1个必需的位置参数:“self”。但我想我不需要这个论点!在文件里他们说我不需要这个 我试过几个主意,但不知下一步该怎么办。 下面是我的代码的更详细版本: @client.event async def on_m
我在大约50台服务器上安装了一个discord机器人。我想知道是否有可能用它所在的服务器覆盖bot用户名和图像。 例如,我的机器人被称为“我的机器人”,其图像为“MyBot.png” 服务器1在我的bot上使用一个命令,它用名称“他们的服务器”和图像“TheirServer.png”进行响应 我看过一些关于能够覆盖机器人名称和图像的帖子,但我只是在想是否有可能在每台服务器的基础上进行覆盖 可能是一个if服务器ID匹配。。。然后使用此图像和此名称 我不是100%,如果这是有意义的,但让我知道 这是
我对制作discord机器人还不熟悉,我想知道如何将信息保存在文本文档中。 我在网上找到了代码,它运行良好,我只是想知道是否可以将输出保存到文本文档中 import discord import os import sys intents = discord.Intents.default() intents.presences = True intents.members = True client = discord.Client(intents=intents) @client.ev
谢谢你阅读我糟糕的英语 我现在正在制造一个不和谐机器人。我想制作一个Discord机器人,当它满足特定条件时自动踢用户 以下是我的想法 当禁止列表上的用户发送消息->机器人检查发送消息的尝试次数->如果超过10次,机器人将踢该用户。如果不是,请删除用户的消息 我尽力了。但我找不到解决办法 这是密码 导入不一致 从discord.ext导入命令 bot=commands.bot(命令前缀='!') BanUser={}#禁止用户字典。数据将另存为{用户名:尝试发送消息的次数} @机器人事件 异步d
我正在尝试让我的机器人响应接受规则的DM消息 以下是我到目前为止的情况: @bot.event 成员加入时的异步定义(成员): role=discord.utils.get(member.servers.roles,name='Newcomers')#get role 等待bot。添加角色(成员,角色)#将角色交给用户 等待bot.member.send(“欢迎来到版主bot服务器!我需要您先阅读规则,然后在此DM中使用`mbs accept`接受”)#发送消息 #等待接受 以下是我的查询代码:
我有几个循环,我用我的机器人运行,用循环重置某些统计数据,但最近似乎有些东西改变了,它们不再工作了。我可以通过on_消息通过命令抓取它们,但不能通过后台任务抓取。我尝试过很多事情,但我不确定我做错了什么 async def getmem(): await client.wait_until_ready() while not client.is_closed(): guild = client.get_guild(id=1234567890) if
我曾尝试在用户没有使用该命令的权限时发出错误消息,这是因为我在控制台中不断收到错误代码应该在聊天中发送消息当用户没有使用该命令的权限时,错误已从控制台中消失,但它不输出消息 @client.command() @具有权限(管理消息=True) 异步def清除(ctx,限制:int): 等待ctx.channel.purge(限制=限制) wait ctx.send('已被{}清除'。格式(ctx.author.ntify)) @清除错误 异步def清除_错误(错误,ctx): 如果isinsta
我正在尝试制作一个类似于mee6的Discord bot,它统计Discord服务器中某个用户每隔一定时间发送的消息。我在网上搜遍了,找不到我想要的东西,尽管有类似的问题。例如,我能够找到一些计算在一个特定通道中发送的消息数量的代码。我还能够找到一些我基本上在寻找的东西,那就是在公会中发送的全部消息,但它是用Java编写的。我希望这缩小了我的问题范围,并提前感谢您。您可以将作者和邮件计数存储在字典中,如下所示: messageCount={} @客户端事件 异步def on_消息(ctx): a
我每次发送meme bal或meme beg时都会出错。Idk发生了什么事,我不知道如何解决它。 这是我得到的错误: Ignoring exception in command bal: Traceback (most recent call last): File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/ext/commands/core.py", line 85, in wrappe
我有这个 async def deletechar(ctx): em = discord.Embed(title = f"Are you sure you want to erase your character?",color = discord.Color.red()) em.add_field(name = "Yes, delete it please",value = "Y") em.add_field(
我尝试: 但这每次都没有回报 我想从聊天文本中获取url自定义表情符号。您的代码应该可以工作-您正确使用了get\u all\u emojis()。它返回None的最可能原因是没有具有该id的表情符号。请尝试类似于print(list(client.get_all_emojis())的操作,查看是否确实存在具有该id的条目。如果使用discord.py 0.16,则所有id都是字符串。尝试使用discord.utils.get(client.get_all_emojis(),id=“469334
每当我运行该命令时,它都会以文字方式响应文本,而不是嵌入文本。这是我的密码: @client.command() async def item(ctx): items = [ 'embed = discord.Embed(title = "embed1", description = "test1")', 'embed = discord.Embed(title = "embed2", description
目前,我在我的机器人上有一个日志,它工作得很好,但问题是它从机器人安装的所有服务器上获取日志。那么,如何使其特定于服务器 @commands.Cog.listener() 消息上的异步定义\u删除(self,message): 嵌入=嵌入( description=f“在{Message.channel.notice}中删除的邮件”,颜色=0x4040EC ).set_author(name=message.author,url=Embed.Empty,icon_url=message.auth
我是开发discord机器人的新手,遇到了一个问题。“except”函数不起作用,并绘制语法错误 它绘制的错误如下所示: 文件“bot.py”,第36行 除缺少RequiredArgument外: ^ SyntaxError:无效语法 代码如下: import random from discord.ext import commands client = commands.Bot(command_prefix = '.') @client.event async def on_ready()
试图用python创建一个不和谐的bot 在discord开发者界面中,在我的bot面板上,选中“特权网关意图”(服务器成员意图) Bot位于具有管理员授权的服务器(公会)上 for guild in self.discord_client.guilds: print(f"guild found : {guild}") print(guild.members) fo
我一直在试图找到一种方法来添加一个嵌入倒计时,但找不到任何东西。因此,当当前_时间达到某个时间时,它会发送一个嵌入并开始在其中一个字段中倒计时 await client.wait_until_ready() channel = client.get_channel(auth) while not client.is_closed(): now = datetime.now() current_time = now.strftime(&qu
我试图创建一个命令,在您键入指定角色时删除该角色。但它不起作用。我已经搜索了解决方案,但只找到了异步的教程,我正在使用重写。有人能帮我吗?这是我的密码: @client.command() 异步def delrole(ctx,*,名称): 等待ctx.guild。删除_角色(名称) 等待ctx.send(f“成功删除{name}角色”) 可能是这样 role=discord.utils.get(ctx.guild.roles,name=“role\u name”) 等待机器人。删除_角色(ctx
我有一个密码: @client.event async def on_guild_channel_update(before, after): if before.name == "a" and before.category is None: await after.edit(name=before.name) 理论上,它应该检查频道是否重命名为“a”,如果重命名,其名称应该保持不变,即“a”。问题是通道仅在5分钟后重命名,或者根本没有重命名。如何
当我尝试运行play命令时,出现了这个控制台错误 我使用的代码是: @client.command(pass\u context=True) 异步def播放(ctx,url): guild=ctx.message.guild voice\u client=guild.voice\u client 播放器=等待语音客户端。创建播放器(url) 玩家[server.id]=玩家 player.start() 我已经确保discord.py、ffmpeg和youtube_dl都是最新的,我得到了相