如何使用discord.py获取discord服务器中特定频道中的所有聊天信息?

我的机器人有管理员权限,所以我只是想知道是否可以从一个频道抓取所有消息,例如#general。频道历史记录 这是可能的,有一个函数可以做到: 此函数可用于检索通道中发送的所有消息。但是,如果要检索包含数千条消息的通道中的所有消息,则速度非常慢 示例 此示例显示如何检索在特定通道中发送的每条消息: async def get_history_of_channel(channel): messages = await channel.history(limit=None) # adding

Discord 不和谐js发送给每个人pm

我想向服务器中的每个人发送一条消息或一条消息 我在谷歌上搜索,什么也没有显示。 我看到一些机器人在做一个声明。下午好。 我怎么能做到。我想要一个我正在使用discord js的工作示例。最有效的方法是制作一个公告频道,并将机器人发送到“@everyone” 如果要对服务器中的每个人进行DM,请循环遍历服务器成员列表并分别对每个用户进行DM;记住,Discord每5秒限制5条消息,所以在循环中设置一个延迟 Discord Api有限制bot DMs有一些限制,您可以在 最好提及每个人或角色

Discord 是否有一个机器人在键入命令时为用户提供特定角色?

我想做个小测验。如果有人键入这样的命令!答案是,机器人提供了一个角色,比如说2级。下一次该人员回答正确时,他们将获得下一个角色,如3级。使用。因此,添加角色代码可以是这样的: @client.command(name='give_me_role') 异步def给我角色(ctx): role=discord.utils.get(ctx.guild.roles,name='Level 2') 尝试: 等待ctx.message.author.add_角色(角色) 除discord.errors.pr

Discord python 3.6用户请求的加入-离开通道

我正在制作一个具有加入-离开消息的bot,但我需要设置它,以便用户可以发送并指定他们希望在哪个频道发布消息 例如: 用户:。请离开 Bot:请发送希望发送加入/离开消息的频道id。 用户:[频道ID] 机器人:谢谢!加入休假消息将在[频道ID]中发布 到目前为止,我所拥有的: @client.event async def on_member_join(member): role = discord.utils.get(member.server.roles, name='

如何在discord.py重写中使用wait_for

我一直在制作一个discord机器人,并尝试使用反应发出命令。我已经看到使用wait_for是实现这一目标的最佳方式。如果有人能提供一些例子: •利用反应赋予角色 •利用反应创建通道 •使用反应编辑消息 如果你能把代码一行一行地分解,这样我就可以学习它,如果只是复制粘贴的话,我将不胜感激。提前感谢文档有很好的解释,但一开始可能很难理解, 通常,反应角色是这样完成的(如果我们暂时不考虑数据库): reaction,user=wait self.bot.wait_for('reaction')) 如

Discord.js反应问题

当我对您发送消息的频道“idere”中的消息做出反应时,您可以尝试返回消息。 试试这个: const emojiChannelName=“idere”; const emojichannelnameaccessed=“idere accepted”; const emojichannelnamedevered=“idere deferred”; client.on(“message”,异步(message)=>{ if(message.guild.id==guildID){ if(messag

当在discord.js中触发guildCreate事件时,是否有办法判断它是否';是加入服务器还是服务器变得可用?

因此,我遇到了一个错误,当我使用client.guilds.cache.get(guildId)时,它将可用显示为假。通过谷歌搜索,我发现当公会再次可用时会触发一个guildCreate事件。问题是,根据,当机器人加入公会,公会可用时,guildCreate事件将触发,但我需要机器人为每个公会执行不同的操作。我不知道从哪里开始,所以没有代码显示。guildCreate: 每当客户加入公会时发出 例如,要检查公会是否可用,只需在代码中添加检查即可 if(guild.available){

Discord.JS正在回复嵌入

我试图让他们在一个特定的频道上写文章时,它会删除他们的评论,而机器人会在嵌入中回复,但我很挣扎 client.on("message", message => { const args = message.content.slice(prefix.length).split(/ +/); const command = args.shift().toLowerCase(); if (message.channel.id == `6359912889713

Discord 全局聊天-静音命令

我创建了一个全局聊天机器人,但我有一个静音命令的问题 if(command === "mute") { if(!message.member.hasPermission("ADMINISTRATOR")){ return message.channel.send("Nie masz permisji do tej komendy!") } const user = message.mentions.membe

discord.py-rewrite-覆盖命令冷却的最佳方式

所以我在写命令,每一个命令都有冷却时间。像这样: @client.command() @commands.cooldown(...) async def bot_command(ctx): pass 问题是冷却适用于每个用户。但是,我希望冷却时间不适用于存储在列表中的bot开发人员id。如何以更高效的方式执行此操作?您可以在异常处理程序中捕获异常,然后从那里手动调用该命令 @client.command() @commands.cooldown(...) async def bot_co

我想在discord.py rewrite中循环重命名bot,但当我运行类似的操作时,它什么也不做

当我运行此程序时,它不会更改我的机器人的昵称 latest_names是一个名称列表 从discord.ext导入命令、任务 从itertools导入周期 latest\u names=andres.get\u latest() 名称=周期(最新名称) @tasks.loop(秒=10) 异步def change_name(): 等待guild.me.edit(尼克=下一个(状态)) 您需要调用self.change\u name.start()来启动循环。您应该在cog的init()函数中执行

Discord 如何更改发送所有频道消息的用户权限?

如何更改发送所有频道消息的用户权限? 我想阻止用户通过discord.js向所有频道发送消息 我在代码中尝试: let member=message.notices.members.first() updateOverwrite(client.guild.roles.member,{SEND_MESSAGES:false}); 您可以在特定公会中迭代频道,然后修改特定用户的权限 client.on('message',message=>{ if(message.indications.membe

Discord 如果Bot前面有两个字母,它会响应每个命令

例如,如果用户输入的命令是r!测试 然后,bot也将响应aatest等 有没有办法解决这个问题? 我还尝试了命令。startsWith('r!')不起作用,bot根本没有响应。 如果你需要它,这里是代码 if(命令=='slap'){ const taggedUser=msg.indications.users.first(); 如果(!msg.notices.users.size){ const-sinetisembed=new Discord.MessageEmbed() .setColor

开发discord机器人

我认为这个错误: System.ArgumentException: 'Command names cannot contain whitespace characters. ' 我在这行代码中处理这个问题 MainAsync(args).ConfigureAwait(false).GetAwaiter().GetResult(); 这是不正确的代码: static void Main(string[] args) { MainAsync(args).Configure

如何防止我的discord bot请求安装密码?

我用python创建了一个discord机器人,并将其安装在我的discord服务器上,一切正常。 但是,当我把我的机器人的链接给一个朋友,让他把它安装在他的服务器上时,他要求他在与服务器连接良好的情况下,用电子邮件和密码确认自己的身份。 当我通常安装一个机器人时,它不会要求我输入密码,所以我如何才能在这里获得它,这样它就不会要求输入密码了?

Discord 不和谐反应';不能在直接消息通道中工作

这件事我已经解决了好几天了,这是最后一根稻草 Reaction\u add仅在我执行时有效!在服务器“常规”频道的_message上,如果我直接向bot发送消息,它不会做任何事情。不过,有趣的是,如果我先直接向机器人发送消息,然后输入!在服务器常规通道中的_message上,bot会在常规通道和直接消息中做出反应 在TimeoutError之后,我在直接消息中被拒绝了 这是直接来自discord.py文档的代码,我使用的是Bot作为Client: @bot.command(pass\u cont

正在bot join上发送消息不起作用discord.js

我试图让机器人在加入服务器时发送消息 这是我目前的代码: client.on('guildCreate', guild => { guild.systemChannel.send(`Hello, I'm LMAOBOT. Thanks for inviting me, here are a list of all my commands! :alien:`, { embed:{ title: ':x: Prefix', color: 0x2471

Discord Python重写-静音;“未找到角色”;

我正在执行一个静音命令,如果找不到该角色,我希望它创建该角色。这是我的密码 @client.command() async def mute(ctx, member: discord.Member , time, *, reason): guild = ctx.guild for role in guild.roles: if role.name == 'muted' or 'Muted': await memb

Discord 如何异步运行commands文件夹中的命令文件

我想给我的discord机器人添加一个kick命令,它使用wait函数 client.on("message", async (message) => { 但是,我无法在commands文件夹中的命令文件中执行此操作 我的踢腿命令 const { MessageEmbed } = require("discord.js"); module.exports = { name: "kick", description: &

discord py,ctx.guild.members,仅返回bot

ctx.guild.members 是一个数组,它应该返回从中调用命令的服务器中的每个成员,但如果我这样做了 print(ctx.guild.members) 它只返回bot本身 [] 我正在努力达到质量标准,这就是为什么在新版discord.py(1.5.x)中,它的措辞冗长而不切题的原因,有一些关于意图的更新。意图就像权限一样,你必须定义它来使用一些东西,比如获取成员、渠道等 导入不一致 intents=discord.intents().all() client=discord.Bot(前

为什么client.users.cache只显示2个用户discord.js

对于我的服务器,我需要我的bot定期对每个人进行DM。我用 client.users.cache.get(args[1]).send(toSend); 为此,其中args[1]包含用户id,而toSend是要发送的消息。但是,它只是出现了无法读取未定义的属性“send”。然后我尝试将client.users.cache记录到控制台中,结果显示其中只有两个用户,机器人本身和我。考虑到服务器至少有30个用户,为什么会这样?看看这是否回答了您的问题@worthyapaca噢,哇,这么简单。谢谢这回答

Discord4J检测用户昵称更新

我试图让我的discord机器人(API包装器Discord4J)监听昵称的更新 以下是我尝试过的: client.on(MemberUpdateEvent.class).subscribe(event -> { System.out.println("event triggered"); }); 但是,当更改某人的昵称时,不会触发该事件 bot已经可以侦听消息,其工作方式是: client.on(MessageCre

Discord bot仅通过名称获取用户id

因此,我目前正在制作一个bot,该bot应该能够对在discord之外输入其discord名称(例如#0000)的用户进行dm,我现在需要该bot将其名称转换为其Id,以便对其进行dm 这可能吗? 为了澄清,bot与用户不在同一台服务器上,并且从未与他们进行过交互。不,不可能按名称获取用户/成员实例如果您不共享公会,唯一可能的方法是使用ID从API获取它 user = await bot.fetch_user(123345567901) 这个问题被问了太多次了。你可以试着浏览其他问题。如果你找

Discord 打开并扫描dms以查找关键字

我正在开发一个机器人,想知道是否有一种方法可以从服务器中的所有人打开dms,并查看其中是否有任何命令。如果是这样的话,我希望命令被完成,但只与某些关键字。请帮忙 您可以通过GuildMember.user.DMchannel循环查看GuildMember集合,并使用GuildMember.user.DMchannel访问GuildMember的DMchannel.messages.fetch()然后使用filter()获取包含您要查找的关键字的消息 message.guild.members.c

Discord.js如何使用bot提和set前缀作为前缀

我想这样做,如果我执行[prefix][command]操作,它将产生与[提及bot][command]相同的效果,但我创建命令和参数的方式使这变得很困难: 前缀存储为var prefix='!3'; 这就是我创建命令的方式: bot.on('message',msg=>{ 如果(!msg.content.startsWith(前缀)| | msg.author.bot) 回来 //“!13”之后的第一条消息 //! 设args=msg.content.toLowerCase().substri

Discord TypeError:channel.send不是函数(已弃用?)

我试图建立一个不和谐的机器人,但我需要发送一个消息到一个特定的渠道。我已经尝试了100次,但一直得到: TypeError:bot.channels.fetch(…).send不是函数。 我读到的每一个地方都会看到“use channel.send()”,但我找不到解决问题的实际方法。channel.send()是否已弃用?以下是错误引发错误的行: bot.channels.fetch(id)、send(message) 我知道channels.get()已被删除,当使用.fetch(id)时,

Discord.py如果成员customstatus包含hi,则指定角色

我正在做一个循环,每5秒检查一次用户状态是否包含“hi”,如果是,则应该给用户一个角色。 我真的不知道怎么做,但也许有人能帮上忙。 我的代码: #以下是我请求的命令的一个小基础。。。 #我希望它能帮助你 @tasks.loop(秒=15) 异步定义状态_角色(): 如果???.lower()中的“hi” #代码来了 #(Idk代码是什么,所以我问你们:D) 成员=ctx.message.author role=get(member.server.roles,name=“Friendly dude

如何让机器人在触发字(discord.py)后保存消息

我试图让我的bot响应在触发字之后发送的消息,但它所做的只是向我发送以下错误:AttributeError:'generator'对象没有属性“content”。这是我的密码: @client.event async def on_message(message): if message.content == "report": await message.author.send("Type your report below")

I';我试图用我的discord机器人发出命令,用两个随机不同的答案回答这个问题(discord.js)

所以我一直想弄明白这一点,但我弄不明白,有人能告诉我我做错了什么吗。顺便说一句,此命令和其他所有命令都是新命令 const Discord=require(“Discord.js”); const bot=new Discord.Client(); 常量前缀=“!”; const token=“token”; const randomMessage=[“是,这是一个突然的时刻”,“不是,这不是一个突然的时刻,停止过度反应”]; bot.on(“就绪”,()=>{ log(`${bot.user.

如何使用aiohttp创建reddit discord机器人

最近,我用python制作了一个discord机器人,我想添加reddit命令,正如我在Dank Memer、MEE6和其他从reddit发送图像帖子的机器人上看到的那样。我在网上找到了一些代码(我对discord.py很陌生),并找到了如何使用aiohttp实现这一点 async def meme(ctx): embed = discord.Embed(title="Post from r/memes.", description=None, color=0xff0000)

为Bot Discord.js发送的每封邮件赢取积分

我需要有关Discord bot的帮助,我正在使用Discord.js 所以我做了这个: client.on("message", async(message) => { if (!message.guild) return; if (message.author.bot) return; if (mentionn) { const randomAmountOfCredits = Math.floor(Math.random() * 29) + 1

Discord 当命令运行时,是否重新回滚赠品命令没有响应?

我正试图发出一个不和谐的送礼重播命令。 问题是,当命令运行时,它没有响应/重新滚动赠品。 我用同一个命令查看了多个站点,但所有这些站点都不起作用/都有解决方案。 我还尝试不嵌入,看看这是否是代码的问题。 下面是reroll命令代码- (如果需要赠品命令代码,我可以提供) @client.command() @commands.has_权限(kick_members=True) 异步def reroll(ctx,通道:discord.TextChannel,id:int): 尝试: new\u m

在每个频道discord.js中禁用角色

我尝试在每个通道中禁用一个名为“mutedRole”的角色,因此我键入了一些代码,下面是代码: if(message.content === `${prefix}mute`) { message.guild.channels.cache.forEach((channel) => { channel.updateOverwrite(channel.guild.roles.mutedRole, { SEND_MESSAGES: false }) .then(channel

Discord &引用;无法读取属性';名称';“无效”的定义;尝试读取服务器名称时

当我执行console.log(message.guild.name)时,它工作正常,给我一条消息中提到的行会名称。但是,由于某些原因,在对用户进行DMing时运行该代码时,会出现以下错误: (节点:36816)未处理的PromisejectionWarning:TypeError:无法读取null的属性“name” A不在公会中,因此不能将公会附加到它 您需要检查message.channel.type属性以确定它是什么类型的频道。消息可以来自这些频道类型中的任何一种(也称为公会文本频道),或

Discord 如何标记bot的所有者

嗨,我正在制作一个机器人,其中说明了机器人的信息,但我希望它将我标记为所有者 var所有者=[]; 让argsS=message.content.substring(前缀.length).split(“”); 如果(argsS[1]=“版本”){ message.channel.send(“**Mafia Bot**当前的版本为:**'+version+'**!”); }否则{ message.channel.send(`Mafia Bot**是由${owner}`创建的); } 打破 虽然我

Discord 如何获得大量在线会员?

我有一个计算成员和机器人并分别输出的命令。然后我想输出在线用户的数量。这可能吗 此命令获取成员和bot计数 if message.content.startswith('<count'): membersInServer = message.guild.members channel = message.channel # Filter to the list, returns a list of bot-members

Dm中的Discord Bot崩溃

当我在discord bot的DM中使用某些命令(例如Mute或ServerInfo)时,它会崩溃,因为DM和server中的命令不同 所以,我一直在搜索,我唯一看到的是Discord.JS指南。我试过了,但没用。因此,我想知道是否有其他方法可以使某些命令在DM中不起作用?如果它失败了与DM通道相关的条件,只需返回: 如果(!msg.guild)返回; 或 if(msg.channel.type==“dm”)返回; 我应该将tho放在与命令相关的代码顶部的什么位置。

Discord.js v12中的role.setPosition()

在Discord.jsv11中,您可以使用guild.setRolePosition({role:'1234567890121345678',position:1})设置特定角色的位置。如何使用新方法指定角色(例如“静音”)?它似乎只接受一个职位编号和一些选项,如options.relative。我想要的是将角色位置分配给事件中禁用的角色Admin、Friends和roles。我知道roleCreate事件仅在创建角色时运行,但不知何故,“position”参数不能很好地使用。实际上可以很好地使

如何在discord.py中生成bug报告命令

所以我在网上或任何地方都找不到任何代码,我个人也不知道如何使用bug报告命令。 我希望命令能像这样工作,在一个专门的频道上发布报告 因此,它的工作原理就像当你发送“s!bug report(bug)”时,它会将(bug)发送到我服务器中的某个频道。在上面提到的评论中,你被卡住了,因为你不知道如何将消息发送到特定的频道,所以我会让你开始 您可以使用Client.get_channel()获取channel实例。这可以从任何地方调用,因此它是您自己服务器中的一个通道,或者在另一个服务器中被调用都无关

Discordjs层次结构权限

我有一个禁止命令,但出于某种原因,版主可以禁止管理员。如何设置层次结构 例如,当管理员角色高于mod时,mod可以禁止管理员 谢谢你 可能有点晚了,但这里有一个有效的解决方案 if (message.member.roles.cache.find(role => role.position > message.mentions.members.first().roles.highest.position)) { // If role is above // Here

Discord 如何记录用户被提及的次数?

在我的bot中,我有一个消息计数器,用于存储用户在服务器中发送消息的次数。 我试图计算一个用户在服务器中被提及的次数。有人知道我该怎么做吗?您可以使用message.indications.members或message.indications.users查看邮件中的提及内容。您可以存储每个用户的提及次数:每次提及他们时,您都会增加计数 var\u count={}; client.on'message',message=>{ 用于message.indications.users.keyArr

Discord 有办法获得频道名称吗?

有没有办法获得频道的名称?我正在创建一个机器人,将记录创建和删除的频道,我希望能够获得频道名称,而不是ID 我已经检查了,但是没有name属性,所以我想知道是否有办法解决这个问题 我目前的代码是: const Discord=require('Discord.js'); const client=new Discord.client(); client.on('channelCreate',channel=>{ const logChannel=channel.guild.channels.fi

Discord.js角色更新事件

我想做的是一个简单的事件记录器,它将在其中输出,比如某个角色失去/获得了权限。所以我想比较两者,然后简单地减去它们,所以它只显示一个特定的权限。相反,我得到1个未定义的(权限丢失,下面的检查代码),而另一个则变为空白,因为根本没有文本(权限获得,下面的检查代码)。我已经做过了,比如说如果一个公会成员失去了一个角色或者得到了一个角色,但是效果不一样 我做错了什么,我怎样才能继续下去 代码: bot.on(“角色更新”,异步(旧角色,新角色)=>{ if(oldRole.permissions!==

Discord 如何返回具有管理员权限的成员?

我正在使用server info命令,我想添加“具有管理员权限的成员列表”。有什么语法吗?你应该展示你在文章中尝试过的代码 const adminMembers=.members.cache.filter(e=>e.permissions.has(“管理员”); const array=adminMembers.map(e=>e.user.tag).array(); 常量str=array.join(“\n”); 为什么要将Guild设置为?它代表一个Guild类的实例,这样无论您如何获得该实例

discord.js“displayAvatarURL”低分辨率

我有一个关于使用Discord.js编程Discord机器人的问题。嗯,当我使用displayAvatarURL时,用户的化身会显示给我,但质量很低。有什么方法可以提高这种质量吗?您发布的问题很容易修复,根据,您可以将对象作为参数传递以设置图像的大小,如下所示: user.displayAvatarURL{size:2048,dynamic:true}; 我还添加了动态:真的让GIF的化身成为动画 可以将对象作为参数传递以设置图像大小: user.displayAvatarURL({size:

如何发出警告命令和警告列表discord.py

我正在使用discord.py rewrite,希望生成一个名为~warn的命令,用于向用户发出警告,并显示用户发出的警告数量。我已经找了一个关于这个的教程,但是几乎所有的都在discord.js中,而在discord.py中的都是异步的。有人能帮我编码吗?你可以用,我来做命令 async def update_数据(用户,用户): 如果在用户中不是f{user.id}: 用户[f'{user.id}']={} 用户[f'{user.id}']['warns']=0 异步定义添加警告(用户、用户

如何响应特定消息(discord.py)

我正在编写一个建议机器人,它应该将玩家的建议发送到我服务器上的建议频道,并在建议频道中使用一些表情符号做出反应 问题是使用“message”作为message参数会对发送的消息做出反应以触发代码,但我希望它对bot发送到建议通道的消息做出反应。我对编码相当陌生。如何让机器人对不同通道中的消息做出反应 text\u channel=client.get\u channel('527127778982625291') msg='您的建议已发送到'+str(text_channel.notice)+'

Discord 我怎样才能让机器人说出我说的完整句子?

这是我目前使用的代码: @client.command() async def say(ctx, arg: str): await ctx.channel.purge(limit=1) await ctx.send(f"{arg}") 这段代码有效,但机器人只说出句子的第一个单词。我怎样才能让它说出整个句子呢?我希望这能奏效: @client.command() async def say(ctx, *args): await ctx.message.delete()

Discord.py:如何停止命令的进一步执行

这是我的代码,我希望它只执行一次,我不知道为什么,但它开始滥发,是因为我的on_message()事件中有它吗 @commands.Cog.listener() _消息上的异步定义(self,message): 如果message.channel.id==my_channel_id: wait message.channel.send(f“{int(message.content)+1}”) 返回 通过 您的机器人会对自己的消息做出反应。试试这个: @commands.Cog.listener(

上一页 1 2 ...  4   5   6   7    8   9   10  ... 下一页 最后一页 共 23 页