在Discord.py中,我如何让我的机器人私下向服务器中的其他人发送消息。比如,如果我想在服务器上给一个我还没有加好友请求的人发消息,我可以使用这个机器人。我希望它使用像"/{ user }{ message }“这样的斜杠命令,机器人将为它们显示消息,并使发送它的用户只能看到它。如何使用discord.py完成此操作?
我希望我的discord机器人能够根据用户的反应在服务器中返回特定的消息:?或?。
我对discord.py不是很熟悉,而且我读过的文档有点混乱,我按照youtube的教程进行了编辑。我可以在控制台中看到打印的反应,但是我得到了错误消息:
Instance of 'Bot' has no 'channel' member
下面是我的代码:
import os
import datetime
import discord
from discord.ext import commands
from dotenv import load_dotenv
load_do
当用户对带有复选标记的消息做出反应时,我该如何使用python中的discord bot向用户发送dm?例如,假设我让我的python机器人发送一条消息,当用户对此做出反应时,它会向该用户发送一个包含信息的dm。 ? 这是我能够构建的代码,我猜它是如何工作的,显然它不是python语法。谢谢! if user.reaction == ✅:
member.send("Nice to know you checked the message thanks")
我试图用不和谐的机器人编写一个小游戏,但我需要我的机器人识别消息内容中提到的用户(没有实际提到,只是服务器上当前的nick字符串)。
所以会有这样的消息!命令nick (不提)
然后,我在代码中拆分这条消息,并将nick作为一个字符串插入变量中。现在我需要bot来找出,如果有一个用户的这个昵称和回应,并提到用户。
if msg.startswith('!'):
komand,tex = msg.split(" ")
victim = tex #here I need some code to make it user id or nickname
我想知道是否有一种方法可以在后台运行1bot命令的内容(它有一个无尽的循环),同时用户仍然可以使用不同的命令。我希望在discord服务器中的用户仍然可以使用message命令并看到打印的消息时,运行第一个命令。代码如下。谢谢。
@bot.command() #bot command for printing a random string every 360 seconds
async def initiateauto(ctx):
count=0
await ctx.send(jokerQuotes[random.randint(0,14)])
while True
设置:我制作了一个机器人来与服务器上的用户进行交互。我增加的一个特点是马可波罗的游戏。当用户发送"Marco“时,机器人会以”POLO.“作为响应。
问题:当机器人用“POLO.”进行响应时,它与原始消息在同一个通道上响应。但是,我希望bot在服务器内的随机通道中作出响应,这会让用户寻找它。
我在网上搜索过答案,也在discord.py上搜索过,但是我一直找不到答案。然而,我对Python和编码完全陌生,所以很可能我只是遗漏了一些东西,或者它是不可能的,LOL。
这是马可波罗游戏的代码:
@client.event
async def on_message(message):
if m
我的目标是:循环一列不和谐的服务器通道,并中继一条消息(不包括消息来自的服务器)。
目前的结果:它是循环和张贴到所有渠道一遍又一遍。也可以在消息来源的通道中投递。
class MyClient(discord.Client):
async def on_ready(self):
print('{0} is in the building!'.format(self.user))
print(self.user.id)
print('------')
async def on_message(sel
我在为我的机器人做一个污秽的过滤器。我允许服务器管理员为他们的服务器列出自己的坏话列表。在on_message函数中,我使用了以下代码来检查用户的消息是否包含来自过滤器的单词:
file = open(f"configs/antiswearvalues/customantiswear/{message.guild.id}.txt")
res = [ele for ele in file.read() if (ele in message.content)]
if bool(res):
await message.channel.send("you did a
我试图创建一个命令,我可以在每台服务器上使用,但是当其他人使用"-help“时,它不会显示在命令列表中。我知道正常的方法是:
if ctx.author.id == myID:
#do some code
但是,如果我这样做,用户仍然可以看到当使用"-help“时该命令是否存在。有什么办法可以绕过这件事吗?有@commands.command @commands.is_user(myID)吗?
我一直在到处寻找它,但try/except对我来说从来都不起作用,并导致我出现了多个错误。代码是禁止每个成员从服务器,并发送一个DM的服务器已被删除。它可以工作,但机器人停止在一个人的错误“无法向此用户发送消息”,我想要处理它,但总是得到这样的错误:indent expected或expression expected。我没有使用try/catch的代码是: @client.command(pass_context=True)
async def abandon(ctx):
for member in ctx.guild.members:
if len(member.
我想让我的机器人在用户输入特定句子时对消息做出反应。 我的回复代码: await ctx.message.reply("I just replied to you") 我得到了错误: ctx.message has no attribute "reply" 我可以做什么代码来让机器人回复消息? 当我说回复时,我的意思是用户可以在消息上按回复