所以我為我朋友的服務器做了一個命令,這樣我們就可以得到我們服務器的邀請串列。當我運行機器人并輸入“.servers”時,我得到的是 <function owner.servers..serversInvite at 0x0000022903A75B40> 而不是邀請鏈接。
@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)
uj5u.com熱心網友回復:
您的變數invitelink定義為:
invitelink = str(link)
未在您的代碼中使用。
您的意思不是在下面一行中使用invitelink代替serversInvite嗎?
前
msg = f'ID: {guild.id} ... | Server Invite: {serversInvite}\n'
后
msg = f'ID: {guild.id} ... | Server Invite: {invitelink}\n'
順便說一句,serversInvite 函式引數公會沒有使用,因為函式中后面使用的公會是 self.bot.guilds 的一個專案。
編輯 1:以下更改如何?
@commands. command()
async def servers(self, ctx):
async def serversInvite(guild = discord.Guild):
for index, guild in enumerate(self.bot.guilds):
channel = guild.text_channels[0]
link = await channel.create_invite(max_age=0)
invitelink = str(link)
if link:
msg = '```js\n'
msg = f'ID: {guild.id} | Members: {guild.member_count} | Guild Name: {guild.name} | Owner: {guild.owner} | Server Invite: {invitelink}\n'
msg = '```'
await ctx.send(msg)
else:
msg = '```js\n'
msg = f'ID: int({guild.id}) | Members: {guild.member_count} | Guild Name: {guild.name} | Owner: {guild.owner} | \n'
msg = '```'
await ctx.send(msg)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/340130.html
