Comment rejoindre un serveur?
Je suis en train de configurer une discorde bot en python. J'ai un pré-existante de la discorde serveur que je voudrais que le bot de les rejoindre, mais je vais avoir un moment difficile de le faire.
import discord
import asyncio
import logging
logging.basicConfig(level=logging.INFO)
client = discord.Client()
@client.event
async def on_ready():
print('Logged in as')
print(client.user.name)
print(client.user.id)
print('------')
print(client)
@client.event
async def on_message(message):
print(message)
if message.content.startswith('!test'):
counter = 0
tmp = await client.send_message(message.channel, 'Calculating messages...')
async for log in client.logs_from(message.channel, limit=100):
if log.author == message.author:
counter += 1
await client.edit_message(tmp, 'You have {} messages.'.format(counter))
elif message.content.startswith('!sleep'):
await asyncio.sleep(5)
await client.send_message(message.channel, 'Done sleeping')
client.run('token')
C'est essentiellement la base discord.py script comme donné sur la page GitHub. Cependant, je n'arrive pas à comprendre comment ont il fait rejoindre mon serveur. Lors de l'insertion de cette ligne dans le on_ready
fonction:
server = await client.accept_invite('instant-invite-code')
avec "instant-inviter-code" remplacé avec mes instantanée inviter code (j'ai essayé les deux, la discorde.gg/code de et code), j'ai
discord.errors.Forbidden: FORBIDDEN (status code: 403): Bots cannot use this endpoint
Enregistrement ne fonctionnent réellement; je obtenir une sortie avec mon nom d'utilisateur et id. Mon bot est enregistré auprès de la discorde, de l'API et j'ai déjà un jeton.
- Autant que je sache, vous avez fait à rejoindre un serveur à l'aide de l'application de bureau ou un navigateur avec votre compte bot. Une fois que vous faites, le bot va reconnaître qu'il a rejoint précédemment.
- Je n'ai donc essayer ce - que je suis connecté sur le compte que le bot a été autorisé à partir et rejoint le serveur correct, mais il ne semble pas avoir eu d'effet - c'est toujours pas rejoindre le serveur (la valeur du client.serveurs est []).
- Je me demande plutôt si je ne suis pas connecté en tant que le bot - je autorisé le bot du compte (et c'est là que le jeton a été généré), mais je suis toujours connecter au client mac en utilisant l'e-mail et mot de passe.
- est-il un moyen de connecter le bot de l'utilisateur dans l'interface web donné le bot nom d'utilisateur/id/jeton?
- Je ne suis vraiment pas sûr. Lorsque je travaillais avec cela, il en était à ses balbutiements et les utilisateurs de bots ne l'étaient pas encore créé. J'ai juste utilisé un compte normal.
Vous devez vous connecter pour publier un commentaire.
J'ai eu quelques difficultés avec cela. Ce que vous devez faire est de:
Votre bot va maintenant être membre du serveur et de répondre aux commandes que vous lui communiquez. Ex. !test dans le code que vous avez donné.
EDIT: Vous pouvez maintenant utiliser les autorisations lien (Un) pour générer l'URL en entier nécessaires.
Je suggère de modifier le code comme ceci:
Je pense que c'est la plus simple et la meilleure solution. Il fonctionne pour moi.
EDIT: la Discorde en fait le propre de OAuth2 url générateur, afin de l'utiliser: https://discordapp.com/developers/tools/oauth2-url-generator