pokebot discord

2024-09-04 Regresar Atrás

poke API bot discord en termux

1. Importación de librerías 📦:

import discord
from discord.ext import commands
import requests
import secrets  # archivo secrets.py
  • discord: Es la librería que conecta tu bot con Discord 🛠️. La usarás para interactuar con el servidor.
  • commands: Viene de la extensión de discord.ext. Facilita la creación de comandos para tu bot, como $poke Pikachu 🐉.
  • requests: Esta librería permite hacer solicitudes HTTP 🌐. Aquí la usaremos para conectarnos a la PokéAPI.
  • secrets: Este archivo probablemente contiene tu token secreto del bot 🤫, que es necesario para autenticar y ejecutar tu bot en Discord.

2. Configuración de permisos (intents) 🔐:

intents = discord.Intents.default()
intents.message_content = True
  • discord.Intents.default(): Activa permisos básicos que tu bot necesita, pero no puede leer los mensajes aún 🚫.
  • intents.message_content = True: ¡Aquí lo activamos! Ahora el bot podrá leer y reaccionar a los mensajes que envíen los usuarios en el servidor.

3. Creación del bot 🤖:

bot = commands.Bot(command_prefix='$', intents=intents)
  • commands.Bot(command_prefix='$'): Aquí defines que tu bot va a reconocer comandos que comiencen con el símbolo $ 💵. Por ejemplo, $poke Pikachu.
  • intents=intents: Le dices al bot que use los permisos configurados antes para poder leer los mensajes.

4. El comando poke 🐾:

@bot.command()
async def poke(ctx, arg):
    try:
        pokemon = arg.split(" ", 1)[0].lower()
        result = requests.get("https://pokeapi.co/api/v2/pokemon/" + pokemon)
        if result.status_code == 404:
            await ctx.send("Pokemon No Encontrado")
        else:
            image_url = result.json()['sprites']['front_default']
            print(image_url)
            await ctx.send(image_url)
    except Exception as e:
        print("Error: ", e)
  • @bot.command(): Esto le dice al bot que lo que sigue es un comando personalizado. ¡Estamos creando un comando! 🎮

  • async def poke(ctx, arg): Esta es la función del comando $poke. Aquí el bot espera que le des un nombre de Pokémon después de escribir $poke (por ejemplo, $poke Pikachu).

    Explicación del flujo:

    1. arg.split(" ", 1)[0].lower(): Aquí el bot toma el nombre del Pokémon que le enviaste y lo convierte a minúsculas para que siempre lo busque correctamente. 🧐
    2. requests.get(...): Envía una solicitud a la PokéAPI para obtener información sobre ese Pokémon. 🌐
    3. if result.status_code == 404: Si la API responde con un error 404, significa que el Pokémon no fue encontrado en la base de datos. 🛑 En ese caso, el bot te dirá "Pokemon No Encontrado".
    4. result.json()['sprites']['front_default']: Si el Pokémon existe, la API devuelve su imagen (sprite) y el bot la manda al chat de Discord. 🖼️
    5. await ctx.send(image_url): Envía la URL de la imagen del Pokémon al canal donde se envió el comando.
  • except Exception as e: Atrapa cualquier error inesperado y lo imprime en la consola, para que puedas depurarlo. 🛠️


5. Manejo de errores 🚫:

@poke.error
async def error_type(ctx, error):
    if isinstance(error, commands.MissingRequiredArgument):
        await ctx.send("Tienes que pasarme un Pokemon")
  • @poke.error: Si alguien se olvida de escribir el nombre de un Pokémon después de $poke, este bloque lo maneja. 💡
  • isinstance(error, commands.MissingRequiredArgument): Verifica si el error es porque falta un argumento (el nombre del Pokémon).
  • await ctx.send("Tienes que pasarme un Pokemon"): Si falta el Pokémon, el bot le recuerda al usuario que debe escribir un nombre para que funcione el comando 🗣️.

6. Evento on_ready 🔄:

@bot.event
async def on_ready():
    print(f"Estamos dentro! {bot.user}")
  • @bot.event: Esto es un evento. Aquí el bot está escuchando cuando se conecta correctamente a Discord.
  • on_ready(): Cuando el bot esté listo para funcionar, se imprime un mensaje en la consola con el nombre del bot. 🟢 Así sabrás que todo está funcionando bien.

7. Ejecución del bot 🚀:

bot.run(secrets.TOKEN)
  • bot.run(secrets.TOKEN): Esto inicia el bot usando el token que tienes guardado en tu archivo secrets.py. ¡Es el último paso! 🔑

¿Cómo usar el bot? 🎮:

  1. Escribe $poke <nombre_del_pokemon>: Por ejemplo, si escribes $poke Pikachu, el bot buscará información sobre Pikachu en la API y te enviará su imagen.
  2. Errores:
    • Si no escribes ningún nombre, el bot te recordará que necesitas escribir un Pokémon (Tienes que pasarme un Pokemon).
    • Si el Pokémon no existe, te dirá que no lo encontró (Pokemon No Encontrado).

PULSA ABAJO PARA VER EL VIDEO

Video Codigo python pokrmon termux Retired64

DESCARGAR CODIGO FUENTE

Descargar BOT

Bibliotecas

pip install requests

# También utiliza

pip install discord.py
  • Dentro del Directorio del bot sin olvidar mencionar que requiere instalar python por ejemplo en termux.
pkg install python

Antes que las bibliotecas.

¡Listo! 🌟

Este bot es súper útil para consultar información rápida sobre Pokémon en Discord. Ahora ya tienes una idea clara de cómo funciona cada parte del código y cómo interactuar con él. ¡Buena suerte y atrapa todos los Pokémon! 🎉

Retired64 Youtube logo

Retired64

Ayudar a la comunidad

En esta página web podrás encontrar guías ayuda sobre termux y Android en general especialmente los videojuegos y herramientas de termux.