Как заставить бота discord генерировать ссылки на приглашения с других серверов, (Discord.py или пи-корд)

#python #discord.py

#python #discord.py

Вопрос:

Я создаю discord-бота в discord.py , пайкорд, и мне было интересно, возможно ли заставить бота сгенерировать приглашение в discord для сервера и отправить его вам, и как это сделать?

Возможно ли это? И если да, то как мне это сделать?

Я понял это спасибо за помощь.

 @client.command()
async def getinv(ctx):
    invites = []
    for guild in client.guilds:
        for c in guild.text_channels:
            # make sure the bot can actually create an invite
            if c.permissions_for(guild.me).create_instant_invite:
                invite = await c.create_invite()
                invites.append(invite)
                await ctx.send(invite)
                break
 

Комментарии:

1. Вы уже ознакомились с документами? Вы можете легко найти здесь то, что ищете

2. Я прочитал api и не нашел того, что искал.

3. Это невозможно. Попробуйте поискать create_invite там? Есть несколько мест, где его можно использовать.

4. Вместо того чтобы редактировать вопрос с ответом, пожалуйста, сделайте ответ.

5. Пожалуйста, будьте осторожны при использовании подобной команды, поскольку это обычно называют бэкдором , если вы присоединяетесь к серверу, на котором вы еще не находитесь, и против TOS discord.

Ответ №1:

Немного улучшенная версия предыдущего кода guys

 @client.event
async def on_ready():
    for guild in client.guilds:
        discord_guild = client.get_guild(int(guild.id))
        link = await discord_guild.text_channels[0].create_invite()
        print(link)
 

Ответ №2:

Я хотел сделать то же самое, и я собрал этот скрипт, который печатает приглашения на каждый сервер, на котором находится бот.

 from discord.utils import get
import discord
import asyncio


client = discord.Client()
TOKEN = "token here"

@client.event
async def on_ready():
  print('Bot is up and running.')
  print(f'Logged in as {client.user}')

@client.event
async def on_message(message, *ctx):
    for guild in client.guilds:
        discord_guild = client.get_guild(int(guild.id))
        link = await discord_guild.text_channels[0].create_invite()
        print(link)
        asyncio.sleep(750)

client.run(TOKEN)