【发布时间】:2021-12-13 04:15:52
【问题描述】:
所以我为我朋友的服务器做了一个命令,这样我们就可以得到我们服务器的邀请列表。当我运行机器人并输入“.servers”时,我得到
@commands. command()
async def servers(self, ctx):
async def serversInvite(guild = discord.Guild):
for guild in self.bot.guilds:
channel = guild.text_channels[0]
link = await channel.create_invite(max_age=0)
invitelink = str(link)
if link:
msg = '```js\n'
for guild in self.bot.guilds:
msg += f'ID: {guild.id} | Members: {guild.member_count} | Guild Name: {guild.name} | Owner: {guild.owner} | Server Invite: {serversInvite}\n'
msg += '```'
await ctx.send(msg)
else:
msg = '```js\n'
for guild in self.bot.guilds:
msg += f'ID: int({guild.id}) | Members: {guild.member_count} | Guild Name: {guild.name} | Owner: {guild.owner} | \n'
msg += '```'
await ctx.send(msg)
【问题讨论】:
-
您正在发送
str({serversInvite}。serversInvite是一个函数,因此当您将其转换为字符串时,您会得到<function ...>文本。您没有调用该函数。当您不将括号放在末尾时,您只是指的是函数本身。我会说您需要调用该函数并获取其值,但您似乎是在serversInvite函数本身内执行此操作,因此这将是一个无限循环。我对 Discord.py 一无所知,所以我不明白你想在那里做什么,或者你需要在那里放什么。 -
是的,关于 str() 我正在测试不同的方法,因为我不知道我需要如何调用该函数。默认情况下它没有字符串,我已经编辑了代码:)
-
你是说invitelink不是SeverInvite
标签: python python-3.x discord discord.py