Как создать указанное количество c приглашающих ссылок, которые могут быть использованы только один раз для сервера Discord в Python - PullRequest
0 голосов
/ 23 марта 2020

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

Это означает, что если я хочу пригласить 50 человек на мой сервер Discord, я бы создал 50 приглашающих ссылок, которые можно использовать только один раз, чтобы я мог присоединиться только к тем, кого я приглашаю. Я хотел бы поместить все эти ссылки во внешний текстовый файл, чтобы позже я смог с ними поработать и в конечном итоге отправить их людям по электронной почте. Другими словами, мне не нужно создавать бота, а просто использовать Python и модуль discord.py для достижения всего этого вне Discord.

Я видел это в документации на discord.py, которая выглядит примерно так, как мне нужно, но я не совсем понимаю, как это будет работать.

Я почти могу найти учебники только о том, как создавать ботов, на самом сервере Discord, но это не то, что мне нужно. Кто-нибудь сможет мне помочь?

Спасибо большое заранее!

1 Ответ

0 голосов
/ 26 марта 2020
import discord

token = 'bot_token_goes_here'
client = discord.Client()
number_of_links = input('How many links do you want to create? ') 

@client.event 
async def on_ready():
    g = client.guilds[guild_number goes here] # Choose the guild/server you want to use 
    c = g.get_channel(channel_id_goes_here) # Get channel ID
    invites = await discord.abc.GuildChannel.invites(c) # list of all the invites in the server

    while len(invites) < int(number_of_links):
        print('CREATING INVITES')
        for i in range(int(number_of_links)): # Create as many links as needed
            i = await discord.abc.GuildChannel.create_invite(c, max_uses=1, max_age=0, unique=True) # Create the invite link
        break

    print('Finished. Exiting soon...')
    exit()

client.run(token)
...