我正在尝试打印出我的机器人所在的所有服务器中所有成员的名称。这是我的代码: @bot.event
async def on_ready():
await bot.wait_until_ready()
for guild in bot.guilds:
print(guild.name)
for member in guild.members:
print(member.name) 这将打印所有的行会名称,但只打印机器人自己的名称,我该如何解决这个问题?
我正在试图找出如何从我的不和谐的机器人发送的信息中删除嵌入。作为一个笑话,我做了一个机器人来“审查”某些链接,但这并不意味着,机器人转发自己的链接。假设来自bot的任何消息中只有一个链接,我如何防止链接嵌入的发生,或者让bot立即删除嵌入?
不是的复制,因为我不知道链接是什么,所以我不能找到一个特定的子字符串,并在它周围加上尖括号。
我的代码如下:
if any(substring in message.content.lower() for substring in ["www.example.com", "www.wikipedia.com"]):
我已经和discord.py合作过一段时间,但这种情况从来没有发生过。几乎相同的事情甚至在早些时候以一种稍微不同的方式工作,所以,是的,看看吧: async def on_ready(self):
global BotCommandsChannel
BotCommandsChannel = await self.fetch_channel(838442070326247496)
await BotCommandsChannel.send("Der Bot hat restarted und ist jetzt wieder on
我正在用discord.py创建一个机器人,并且我正在创建一个命令来踢所有非轮转的服务器成员。 然而,问题是,我认为机器人是唯一的成员。我试着研究了文档,但我找不到一个明确的例子或答案。 下面是我的代码: @bot.command()
async def kick_non_role(ctx, *, reason=None):
print(ctx.guild.members)
for member in ctx.guild.members:
print(member)
if len(member._roles) == 1:
await mem
设置:我制作了一个机器人来与服务器上的用户进行交互。我增加的一个特点是马可波罗的游戏。当用户发送"Marco“时,机器人会以”POLO.“作为响应。
问题:当机器人用“POLO.”进行响应时,它与原始消息在同一个通道上响应。但是,我希望bot在服务器内的随机通道中作出响应,这会让用户寻找它。
我在网上搜索过答案,也在discord.py上搜索过,但是我一直找不到答案。然而,我对Python和编码完全陌生,所以很可能我只是遗漏了一些东西,或者它是不可能的,LOL。
这是马可波罗游戏的代码:
@client.event
async def on_message(message):
if m
我目前还不熟悉编码,我正计划制作一个实用程序机器人。因此,基本上,我在这里要做的是获得我的on_message事件的第二个参数。但我怎么能做到呢?我正在为我的机器人制作一个自动数学模块,而不用前缀。例如:solve 5*5和机器人应该通过读取第二个参数来自动回答它。
我的守则:
@client.event
async def on_message(message):
if message.content.startswith('solve'):
expression = # Where it supposed to read the arguments
我正在尝试做一个不和谐的机器人,给on_member_join的成员read_messages = False。只有当我在for循环中遍历所有可能的不一致文本通道时,我才能做到这一点,但我只想对特定的通道执行此操作。我知道如何创建通道并将其设置为read_messages = False,但我需要在已存在的通道上执行此操作。
我当前的代码:
import time
import discord
from dotenv import load_dotenv
import os
import random
from discord.utils import get
import asyncio
我正在尝试使用discord.py获取服务器中的成员列表。
我的代码是:
@client.command()
async def members(ctx):
members = ctx.guild.members
for member in members:
await ctx.send(member.name)
await ctx.send("done")
但问题是它只发送了机器人的名字。如果您知道代码中有什么问题,那么请您帮助我,我想知道所有成员的名字。
在我的try块中,我添加了两个异常。如果机器人没有权限,则为一个异常,对于其他情况则为另一个异常。但是,下面的代码没有显示权限错误的异常,而是使用了另一个异常。
@commands.command(no_pm=True)
async def mal(self, *, srch=None):
try:
if srch is None:
await self.Nao.say('You need to provide an anime name')
return
我需要清除10条消息作为默认和清除所有渠道,如果打印的-чисти все。它起了作用,但我的机器人现在不清除任何信息,我不知道我能做什么来修复它。请帮忙
cha=ctx.message.channel
author=ctx.message.author
if all=='все' or all=="всё":
amount=0
history=await cha.history(limit=9999999).flatten()
for i in history: