Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中的Discord Bot创建邀请链接并将其分配给用户_Python_Discord_Discord.py - Fatal编程技术网

python中的Discord Bot创建邀请链接并将其分配给用户

python中的Discord Bot创建邀请链接并将其分配给用户,python,discord,discord.py,Python,Discord,Discord.py,我正在用Python(3.7.3)制作一个Discord机器人,我想向一个用户发送一个dm,并向服务器发送一个invite链接。这是我的代码: import discord from discord.ext import commands bot = commands.Bot(command_prefix=config.get_config, description='Thou Holy Bot') @bot.command(name='dm',pass_context=True) asyn

我正在用Python(3.7.3)制作一个Discord机器人,我想向一个用户发送一个dm,并向服务器发送一个invite链接。这是我的代码:

import discord
from discord.ext import commands

bot = commands.Bot(command_prefix=config.get_config, description='Thou Holy Bot')

@bot.command(name='dm',pass_context=True)
async def dm(ctx, *, argument):
    <code here>
导入不一致
从discord.ext导入命令
bot=commands.bot(command\u prefix=config.get\u config,description='bot')
@命令(name='dm',pass\u context=True)
异步def dm(ctx,*,参数):


我有一个discord.member.member()类。我想制作一个到频道的邀请链接(如果需要的话,我有一个频道对象)并将其发送给用户。感谢您的帮助,谢谢

您只需手动创建一个永不过期的邀请链接,并在机器人执行踢之前,在发送给被踢人的DM中使用该邀请链接。

感谢所有帮助我的人,我找到了解决方案

import discord
from discord.ext import commands

bot = commands.Bot(command_prefix='!', description='Bot')

@bot.command(name='dm',pass_context=True)
async def dm(ctx, *argument):
    #creating invite link
    invitelink = await ctx.channel.create_invite(max_uses=1,unique=True)
    #dming it to the person
    await ctx.author.send(invitelink)

如果要在cog中执行此操作,请参阅以下文档:

     import discord
     from discord.ext import commands
     class Information(commands.Cog):

     def __init__(self,bot):
     self.bot = bot

     @commands.command(brief='A one time server invite',pass_context=True)
     async def serverinvite(self, ctx):
     invitelink = await ctx.channel.create_invite(max_age = 90, max_uses=1, unique=True)
     await ctx.send(invitelink)

你的问题是什么?为了帮助你,请把你的问题说清楚。确保阅读了要如何指定用户?你的机器人只能向至少有一个公会的人发送消息,该公会允许成员相互发送消息。@YoussofH我有一个随机踢命令,我想向被踢的随机人发送一个带有邀请链接的dm。多亏了帕特里克·霍,我现在意识到这是不可能的。谢谢你的帮助@ScottBot10您能不能重新安排流程,发送链接,然后启动?所以你仍然可以在用户被踢之前PM他们?或者你想让这些动作分开吗?@Antry是的,我可以,但我仍然不确定如何创建邀请链接。我每次都想要一个唯一的链接,这样人们就不能重复使用它们。我已经找到了解决办法,不过还是要谢谢你。我已经回答了我的问题。谢谢你的回答。在代码之外的注释和/或叙述中包含解释发生了什么的信息可能会对提问者有所帮助。