使用 discord.py rewrite 创建即时邀请,似乎无法做到没有错误
Posted
技术标签:
【中文标题】使用 discord.py rewrite 创建即时邀请,似乎无法做到没有错误【英文标题】:Creating instant invite using discord.py rewrite, can't seem to do so without errors 【发布时间】:2019-11-15 08:18:01 【问题描述】:我正在使用 python 让我的机器人生成即时邀请。 但是,我无法找到和创建即时邀请。 这是我的代码:
from progress.bar import Bar # Only to show a loading bar, all imports are successful.
print("Loading...")
imports = [
'import os',
'import sys',
'import asyncio',
'import discord',
'import random',
'import functools',
'import time as tm',
'from discord.ext import commands',
'from discord.ext.commands import when_mentioned'
]
bar = Bar('', max=len(imports))
for i in range(0, len(imports)):
exec(str(imports[i]))
bar.next()
bar.finish()
BOT_PREFIX = "!"
BOT_TOKEN = 'token'
OWNER_ID = int("owner's user id for support")
class Stuff(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.command()
async def create_invite(self, ctx):
"""- Create instant invite"""
link = await discord.abc.GuildChannel.create_invite(self, max_age='300')
await ctx.send("Here is an instant invite to your server: "+link)
当命令运行不和谐时,我得到这个错误:
discord.ext.commands.errors.CommandInvokeError:命令引发异常:AttributeError:“Stuff”对象没有属性“_state”
如何正确生成即时邀请?
【问题讨论】:
【参考方案1】:尝试使用discord.TextChannel.create_invite()
这样,
@commands.command()
async def create_invite(self, ctx):
"""Create instant invite"""
link = await ctx.channel.create_invite(max_age = 300)
await ctx.send("Here is an instant invite to your server: " + link)
【讨论】:
【参考方案2】:嘿,伙计,这是你的代码
@client.command(pass_context=True)
async def invite(ctx):
#Creating an invite link
link = await ctx.channel.create_invite(xkcd=True, max_age = 0, max_uses = 0)
#max_age = 0 The invite link will never exipre.
#max_uses = 0 Infinite users can join throught the link.
#-----------------------------------------------------#
#-------Embed Time-----#
em = discord.Embed(title=f"Join The ctx.guild.name Discord Server Now!", url=link, description=f"**ctx.guild.member_count Members** [**JOIN**](link)\n\n**Invite link for ctx.channel.mention is created.**\nNumber of uses: **Infinite**\nLink Expiry Time: **Never**", color=0x303037)
#Embed Footer
em.set_footer(text=f"Made by </iFreaku?YT>2.0#0908")
#Embed Thumbnail Image
em.set_thumbnail(url=ctx.guild.icon_url)
#Embed Author
em.set_author(name="INSTANT SERVER INVITE")
#-----------------------------------------#
await ctx.send(f"> link", embed=em)
输出
我想发布一张图片,但我没有太多名声。
转到此链接以查看输出。 https://media.discordapp.net/attachments/887163354123206666/910568231184498718/unknown.png
【讨论】:
以上是关于使用 discord.py rewrite 创建即时邀请,似乎无法做到没有错误的主要内容,如果未能解决你的问题,请参考以下文章
discord.py-rewrite - 使用 PyQt5 的动态 Web 抓取无法正常工作
Discord.py-rewrite wait_for() 我该如何使用?
Twopart 嵌入式 API 消息 Discord.py(branch>rewrite)
使用 Heroku 时如何从 Discord.py 异步更改为重写?