Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Obtener info de canal Discord
#1
Wink 
Buenos dias, estoy programando un asistente para un video juego online. Su obetivo es ayudar a acceder más rápido a información del servidor.

 El servidor publica en su canal de discord, en tiempo real parte de esta información,  y yo quiero acceder a ella mediante un script en python.

 Sabemos que seria fácil mediante un simple : 
   
Código:
import urllib.request
page = urllib.request.urlopen('http://web-que-me-brinda-la-informacion.com')
print(page.read())

Pero el problerma es que para acceder a visualizar un canal en Discord hay que iniciar sesión. No pudo acceder directamente a https://discord.com/channels/73577463537...8880423936  porque no tengo la sesión.  Llevo dias investigando sobre Discord.py pero no encuntro información clara, todo apuntado a controlar bots en un servidor propio de discord... Pero lo que necesito es mas simple, solo acceder a un simple texto plano situado en un canal X de discord. Espero que puedan ayudarme o dejar su idea. Muchas gracias. Saludos.
Responder
#2
Hola, bienvenido.

Usando urllib hay una gran posibilidad de que no puedas obtener el dato que te interesa, si es que este se carga de forma asincrónica en la web (como los mensajes de un canal). Podés hacer una prueba: ingresá en el enlace que te interesa y presioná clic derecho (en cualquier parte de la página) > Ver código de fuente. Presioná CTRL + F en el código de fuente y chequéa si encontrás el texto que te gustaría obtener desde Python. Si no aparece en el código de fuente, no lo vas a poder obtener vía urllib, incluso aunque inicies sesión, en cual caso deberías considerar la API de Discord que mencionás.

Saludos
¡No te pierdas nuestro curso oficial en Udemy para aprender Python, bases de datos SQL, orientación a objetos, tkinter y mucho más!

También ofrecemos consultoría profesional de desarrollo en Python para personas y empresas.
Responder
#3
(23-04-2021, 11:13 AM)Francisco escribió: Hola, bienvenido.

Usando urllib hay una gran posibilidad de que no puedas obtener el dato que te interesa, si es que este se carga de forma asincrónica en la web (como los mensajes de un canal). Podés hacer una prueba: ingresá en el enlace que te interesa y presioná clic derecho (en cualquier parte de la página) > Ver código de fuente. Presioná CTRL + F en el código de fuente y chequéa si encontrás el texto que te gustaría obtener desde Python. Si no aparece en el código de fuente, no lo vas a poder obtener vía urllib, incluso aunque inicies sesión, en cual caso deberías considerar la API de Discord que mencionás.

Saludos

Hola Francisco muchisimas gracias por tu pronta respuesta. Estoy totalmente de acuerdo que con urllib no podré hacerlo. De hecho discord ni si quiera permite un clic derecho en su plataforma. Claramente es por el lado de discord.py pero no logro dar con la información para comenzar a intentarlo
Responder
#4
No conozco muy bien el funcionamiento de Discord, pero lo primero que deberías hacer es registrar tu Bot: https://discordpy.readthedocs.io/en/stab...cord-intro. Una vez que tenés el token, tenés un ejemplo acá sobre cómo leer mensajes: https://discordpy.readthedocs.io/en/stab...start.html.

Código:
import discord

client = discord.Client()

@client.event
async def on_ready():
    print('We have logged in as {0.user}'.format(client))

@client.event
async def on_message(message):
    if message.author == client.user:
        return

    if message.content.startswith('$hello'):
        await message.channel.send('Hello!')

client.run('acá va tu token')

Saludos
¡No te pierdas nuestro curso oficial en Udemy para aprender Python, bases de datos SQL, orientación a objetos, tkinter y mucho más!

También ofrecemos consultoría profesional de desarrollo en Python para personas y empresas.
Responder
#5
Claro había leído ese script, por lo que me puse a registrar mi bot en discord. Enseguida uno crea el bot, te pide que lo suscribas a un canal, pero la mala noticia es que debes administrar ese canal. En definitiva lo que hace es interactuar con tus suscriptores. Lo que busco es leer, solamente leer, scrapear información de otro canal. Seguiré investigando. Gracias por tu tiempo
Responder


Salto de foro:


Usuarios navegando en este tema: 2 invitado(s)