software issues issue example create all python discord discord.py

python - issues - ¿Cómo unirse a un servidor?



jira rest api get all issues (2)

Estoy tratando de configurar un bot de discordia con python. Tengo un servidor de discordia preexistente al que me gustaría que se uniera el bot, pero me cuesta mucho hacerlo.

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'')

Esta es esencialmente la secuencia de comandos discord.py básica que aparece en la página de GitHub. Sin embargo, parece que no puedo encontrar la manera de que realmente se una a mi servidor. Al insertar esta línea en la función on_ready :

server = await client.accept_invite(''instant-invite-code'')

con "instant-invite-code" reemplazado con mi código de invitación instantáneo real (probé discord.gg/code y code), obtengo

discord.errors.Forbidden: FORBIDDEN (status code: 403): Bots cannot use this endpoint

El registro realmente funciona; Me sale con mi nombre de usuario y ID. Mi bot está registrado con la discord API y ya tengo un token.


Sugiero editar el código de esta manera:

@client.event async def on_ready(): print(''Logged in as'') print(client.user.name) print(client.user.id) print(''Invite: https://discordapp.com/oauth2/authorize?client_id={}&scope=bot''.format(client.user.id)) print(''------'')

Creo que esta es la mejor y más fácil solución. Esto funciona para mi.

EDIT: Discord realmente hizo su propio generador de url OAuth2, así que use eso: https://discordapp.com/developers/tools/oauth2-url-generator


Yo también tuve algunos problemas con esto. Lo que necesitas hacer es:

  1. Ve a las páginas de desarrolladores de Discord (inicia sesión si no lo has hecho).
  2. Vaya a la aplicación con el bot que desea agregar a su canal.
  3. Copie el ID de cliente / aplicación.
  4. Vaya a https://discordapp.com/oauth2/authorize?client_id=CLIENT_ID_GOES_HERE&scope=bot&permissions=0 <Puede configurar los permisos para el bot aquí. Los permisos se pueden calcular aquí .
  5. Seleccione el servidor y haga clic en autorizar.

Tu bot ahora será miembro del servidor y responderá a los comandos que le des. Ex. ! Prueba en el código que has dado.

EDITAR: Ahora puede usar el enlace de permisos ( 1 ) para generar la URL completa necesaria.