Рубрики
Без рубрики

Como crear un bot en discord.py

Hola Que Tal? Hoy Les Traigo Este Post de Como Crear On Bot descord USANDO Discord.py. Каби Дест … Tagged с Discord, Discordpy, Python, Programming.

Hola Que Tal? Hoy Les Traigo Este Post de Como Crear On Bot descord USANDO Discord.py.

CABE DESTACAR QUE ES MUY PERO MUY SABEREBLE SABRE DE PYTHON DESDE ANTES ( Python es un Lenguaje de Programación y usaremos la biblioteca de python discord.py para programar nuestro bot.

  • Python o Python3

  • Una Cuenta en Discord

  • Tener Permisos Administrativos en un Server

Lo Mejor sera Que primero crearnos nuestro bot e invitarlo nuestro server Разобедренные парароллы.

Al Entrar En La Pagina Les Pedirá Autenticarse Con Su Cuenta de Discord, Luego de Eso Deberá Aparecer Algo Así y Le Dan A “New Daplication”

Al Darle Ase Boton («Новое приложение») Понен эль -Нобер -де -Су -Пенсии, Ese es el Nombre de Su Aplicación mas no de de su Bot luego les aclaro eso, Les deberá aparecer algo asi:

Luego de Darle A “Create” Les Deberá Mostrar El Menú de Nuestra Aplicación, Algo Así:

La Pagina Inicial Нет Es Muy Interesante Por Ahora, Lo Que Realmente estamos buscando es el token de nuestro bot, el token es como la “llave” o “contraseña” de nuestro bot, eso lo aremos para cargar los comandos y demás, ese token “lo encontramos en la parte de “bot” en el menú de la izquierda, luego de darle clic veremos algo así:

Luego le damos clic a el botón que dice “добавить бот” y saldara un mensaje y le daremos “да, делай это”! Y Saldrá Algo Así:

Ах Донде Продажа Эль Иконо де Дискорд, Эса -э -э -э -э -э -э -э -э -э -э -э -э -э -э -э -э -э -э -э -э -э -э -э -э -э -э -э -э -э -э -э -э -э -э -э -э -э -де -токен Раскрыть токен “, El Segundo” Copy “y el ultimo Regenerate”, Expvestiquemos esto Brevemente, El Primero es Para Ver El Token, El Segundo para copiarlo al portapapeles y el tercero es para validar el token y crear otro. Copiamos el token y seguimos a ir a “oautho2”, en oautho2 vamos al final de la pagina y seleccionamos “bot” y veremos algo así:

Luego Seguimos Bajamos mas y veremos algo así, que son los permisos del bot, yo siempre selecciono “администратор” para los permisos asi no tengo que seleccionar todos

Y si nos fijamos veremos un link en el el medio de los dos cuadros de selección, ese link es el famoso “link de vitación”, copiamos El Link y lo abrimos en una pestaña seleccionamos el server de nuestra prepretencia, y veríamos algo así:

Luego Autorizamos Los Permisos de “Администратор” O Los Que Hayan Elegido, comprobamos Que no Somos un Bot y ya estaria listo. Si Seguistes Todos Los Pasos Bien, Tu deberia haberse unido al servidor selecionado, Recuerda que tienes que esperar el mensaje que diga:

Ya tendríamos nuestro bot en el servidor, claro pero no esta activo, podemos comprobarlo, en la hilera de la derecha, sale desconectado, testbot y es lógico, nosotros solo hemos creado un bot bot y lo metido en nuestro server, pero no tiene ni prefix Ни нада y eso lo arreglaremos a continuación.

# Parte 2: intalaciòn de lo Que necesitaremos

Ahora, si no lo tenemos ya, vamos a la pestaña de bot y copiamos el token, ahora comprobemos que tenemos python

python3

y deberia dar como respuesta:

O si no tienes python3:

python

Si no te te funciona ninguno de los dos, y te sale algo parecido a esto:

Command 'python' not found

ЗНАЧЕНИЕ QUE NO TIENES PYTHON INTALADO EN TU SO (Sistema operativo) y Enconcers Debemos instalarlo. Nos dirijimos a la Pagina de Python y incontraremos algo asi:

En la navegación (El Menú de Arriba) Encontramos:

Lo Que nos importa es ” загрузки ” al posicionar el cursos sobre загрузки, nos mostrar el paquete a descargar segun nuestro so y abajo de donde dice “Скачать для Windows” o “Скачать для Mac x” Hay un botón, Que Dice Python 3.9.5 O Superior Deviendo de Cuando Veas Este Post, Le Das Clic Ahí y Comenzara La Descargar …

Luego de Que se enstale el archivo, vamos a la carpeta Que Que LOTIENE y LO ABRIMOS COMO ARMINEMIVE (“Ejecutar Como Administrador”) Luego de dar nuestra credenciales para ejecutarlo como Administrador, nos saldrá algo así:

La Versión de El Python En la Captura es algo vieja pero in igual deben ser los mismos pasos

Важный ES PINCHAR EN El Recuadro de el final Que Dice “Добавить Python 3.7 на путь”

Luego en la parte surtern encontramos dos opciones:

  • Установите сейчас: Que incluye: Idle, Pip и документация
  • Настройте установку

Con la opción “Добавить Python 3.7 (O Superior Deviendo de la fecha) к пути” Previamente pinchada, Presionamos “Установка сейчас”, Comienza la instalacion Y Cuando Termine, Seleccionamos Close En La Esquina nefior derecha.

Luego al irnos al menú debería estar el idle y python en “agregados recientemente”

Nos dirigimos a la terminal, en ella escribimos el siguente comando:

sudo apt-get install python3

Luego Les Pedirá Revisionación Presiona Y + Enter, Y Comenzara La Descarga.

Yo ya lo tengo por eso me salio ese mensaje

Proseguimos instalando el idle de python:

sudo apt-get install idle

Luego desde el menu podemos conseguir El Idle Si Lo Instalamos Bien, Al Abrirlo Desde El Menu Saldria Algo Asi:

Nos dirigimos al directorio Que Queramos, comúnmente el eScritorio y creamos un carpeta, el nombre nomporta, pero la llamaremos “bot”, nos abrimos la carpeta y seleccionamos “abrir en erminal” o algo parecido cone ya deberias lener la terminal dement de de de de de de de La Carpeta, Deberia Salir Toda La Direccion Algo Así: Пользователь/Escritorio/Bot , Donde User Es tu usuario y lo demás es la ubicación donde yo tengo el bot.

Si no sabes moverte desde consola estos comandos te ayudaran un poco:

Cuando abras la терминал Dándole Щелкните El Icono O Con Algún Atajo de Teclado, USA El Comandos: лауреат o режиссер EN Windows

Ahí Veras una serie de archivos y carpetas que estan en la carpeta personal, si creasste la carpeta en El Escritorio Deberás Hacer Esto:

dir

Si Tu PC Esta Engles USA Luego de Dir:

CD Desktop

Si esta en español:

CD Escritorio

Luego de Estar Dentro de Escritorio USA CD Mas El Nombre de Tu Carpeta, En Mi Caso Bot

CD Bot

Instalamos pipenv, es para crear un entorno virtual y estar mas seguros.

pip3 install pipenv

ESO Con Python3

pip install pipenv

Con Python

Seguidamente iniciamos el enterorno virtual en nuestra carpeta

pipenv shell

Instalamos la librería discord.py para programar los comandos de nuestro bot

pipenv install discord.py

Hechos los перед дочерностью Pasos debería crearse un archivo pipfile que vendria siendo muy parecido en uso a el package.json

Si nos metemos en el archivo pipfile, y bajamos un poco deberíamos ver algo así:

[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

**[packages]
"discord.py" = "*"**

[dev-packages]

[requires]
python_version = "3.9"

Y Si Vemos en Пакеты Dice Discord.py. ESO TARGINA Que instalamos discord.py reforramente

Adentro de Nuestra Carpeta, Bot O Como Vos La Llamaste, Tenemos Nuestro Archivo Pipfile y Un Archivo Pipfile.Lock, Ninguno de Estos Archivos Debemos ordificar

Listo Con Las Deventencias creamos una carpeta llamada src, adentro creamos un archivo main.pe ese ese contendrá El Código de Nuestro Bot, Ahora Toca, Echar Código …. No Importa Que Editor de Código использует, puede ser atom, sublimetext, nvim, vscode, el idle Нет импорта.

Ahora si no tenias ningún editor de código antes de Ver Este post, puedes usar el idle que instalamos, lo abrimos y vemos en la esquina superiou Damos A “Open” y de ahí navegamos a donde ese nuestro archivo del bot (el main.py)

# Comencemos con las importaciones

En la parte superior de nuestro archivo ponemos:

import discord #importamos para conectarnos con el bot
from discord.ext import commands #importamos los comandos
import datetime 

Ahora Declaramos la переменный бот, Que es la Que nos ayudara aectarnos con el.

bot = commands.Bot(command_prefix='_', description="this is a testing bot")

Eso lo Que Dice es Que El Prefix de Nuestro Bot Es: “_”. El Prefix es el la forma de llamar a nuestro bot.

Cabe decir Que, yo hi visto varios códigos de bot y también se usa muaco client en vez de bot, auntque no importa dado que es solo el nombre de una переменная, pero a la hora de trabajar concunto a otros dev si que es de suma immormancia

Ahora Vamos A Crear El Primer Comando, Como Sabrás En Programación es Una Buena Practica que para iniciar se haga el famoso “hola mundo”, pues en los bot hay algo parecido que es el “ping” y el bot te devuelve “pong”, agreguemosle esa tarea a nuestro bot:

#Ping-pong
@bot.command()
async def ping():
     await ctx.send('pong')

Que hicimos ahi? просто:

  • 1) @bot .command (): Simplemente nos crea un comando.

  • 2) Async def ping (): una función, ella es la que se encarga de manejar ese comando, el nombre de la función sera El Nombre del Comando en Este Caso “Ping” Y Se Le Pasa El Contexto (CTX).

  • 3) luego en la siguiente linea està el envió del mensaje.

El Código Applose Hasta Ahora Seria:

import discord #importamos para conectarnos con el bot
from discord.ext import commands #importamos los comandos
import datetime 

bot = commands.Bot(command_prefix='_', description="this is a testing bot")


#Ping-pong
@bot.command()
async def ping(ctx):
     await ctx.send('pong')

Pongamos un Estado A Nuestro Bot, Los Típicos, Viendo, Jugando, Escuchando y Trasmitiendo, Eso Son Todos Para Que Vean:

# `Playing ` status
await bot.change_presence(activity=discord.Game(name="a game"))

# `Streaming ` status
await bot.change_presence(activity=discord.Streaming(name="My Stream", url=my_twitch_url))

# `Listening ` status
await bot.change_presence(activity=discord.Activity(type=discord.ActivityType.listening, name="a song"))

# `Watching ` status
await bot.change_presence(activity=discord.Activity(type=discord.ActivityType.watching, name="a movie"))

Нет Le Pongas Todos, Ponle solo uno yo en mi caso, usare viendo como casi todos los bot:

@bot.event
async def on_ready():
    await bot.change_presence(activity=discord.Activity(type=discord.ActivityType.watching, name="_help"))
    print('My bot is ready')

Y ahora la hora de la verdad, hay que poner el token para activar nuestro bot, y haremos de la siguiente forma de hacer que nuestro bot bot conecte против El Código Que Hemos Escrito. LO primero debemos tener el token en portapapeles, y lo ponemos entre comillas, algo asi:

bot.run('ODI0ODY3NjkyODg0MDYF1n5wH6REonj68UCLK3UT3zWyXz7Y8Pc')

Consejos: нет компакт -суп -токен, нет Pongan Este Codigo en Recalit, Les Pueden Robar El Token, En Otro Post Hablare de переменные de enterorno (.env)

Ahora juntemos todo:

import discord #importamos para conectarnos con el bot
from discord.ext import commands #importamos los comandos
import datetime 

bot = commands.Bot(command_prefix='_', description="this is a testing bot")


#Ping-pong
@bot.command()
async def ping(ctx):
     await ctx.send('pong')

@bot.event
async def on_ready():
    await bot.change_presence(activity=discord.Activity(type=discord.ActivityType.watching, name="_help"))
    print('My bot is ready')

bot.run('ODI0ODY3NjkyODg0MDAwNzc4.YF1n5w.H6REonj68UCLK3UT3zWyXz7Y8Pc')

Para correr nuestro bot tendriamos que hacer algo asi:

Python main.py

o

Python3 main.py

o en El Idle Seria Presionando F5

Ahora vamos a nuestro server y probemos el bot, con el único comando, _ping:

También Podemos usar el comando _help pero no es esí muy bonito véanlo ustedes mismos:

Para Cambiar Eso, Simplemente Ponemos algo a nuestra переменная бот:

bot = commands.Bot(command_prefix='_', description="this is a testing bot", help_command=None)

HELL_COMMAND: Нет Invalida El Comando Help Para Que nosotros podamos crear uno libremente, de otra forma daria un error аналогично este:

Nos informa que kay un comando помогите вам

Bueno luego de Poner el Código de arriba Escribimos nuestro help_command personalizado:

@bot.command()
async  def  help(ctx):
  des = """
  Comandos de TestBot\n

  > ping: El bot te responde pong\n

  > Prefix:  _\n
  Hecho con amor en Python\n

  """
  embed = discord.Embed(title="I'm TestBot",url="https://cdn.discordapp.com/avatars/809827305295314967/babea11271bbf5a89d5bf15220e7c278.webp?size=1024",description= des,
  timestamp=datetime.datetime.utcnow(),
  color=discord.Color.blue())
  embed.set_footer(text="solicitado por: {}".format(ctx.author.name))
  embed.set_author(name="AlexanderG",       
  icon_url="https://cdn.discordapp.com/avatars/809827305295314967/babea11271bbf5a89d5bf15220e7c278.webp?size=1024%22")


  await ctx.send(embed=embed)

Los \ n Son Saltos de Linea nada más se vería así nuestro help_command:

Y Todo Junto Seria:

import discord #importamos para conectarnos con el bot
from discord.ext import commands #importamos los comandos
import datetime 

bot = commands.Bot(command_prefix='_', description="this is a testing bot", help_command=None)


#Ping-pong
@bot.command()
async def ping(ctx):
  await ctx.send('pong')



@bot.command()
async  def  help(ctx):
  des = """
  Comandos de TestBot\n

  > ping: El bot te responde pong\n

  > Prefix:  _\n
  Hecho con amor en Python\n

  """
  embed = discord.Embed(title="I'm TestBot",url="https://cdn.discordapp.com/avatars/809827305295314967/babea11271bbf5a89d5bf15220e7c278.webp?size=1024",description= des,
  timestamp=datetime.datetime.utcnow(),
  color=discord.Color.blue())
  embed.set_footer(text="solicitado por: {}".format(ctx.author.name))
  embed.set_author(name="AlexanderG",       
  icon_url="https://cdn.discordapp.com/avatars/809827305295314967/babea11271bbf5a89d5bf15220e7c278.webp?size=1024%22")


  await ctx.send(embed=embed)
@bot.event
async def on_ready():
    await bot.change_presence(activity=discord.Activity(type=discord.ActivityType.watching, name="_help"))
    print('My bot is ready')

bot.run('ODI0ODY3NjkyODg0MDAwNzc4.YF1n5w.H6REonj68UCLK3UT3zWyXz7Y8Pc')

Pipenv Shell crea un entorno virtual y nosotros al hacer Pipenv Установка Discord.py Estamos diciendo: en esta carpeta en este enterorno virtual quiero que me instales discord.py, no en mi pc flobumne, lo que quiere decir Que parer Nuestro Bot Siempre Debemos Iniciar El Entorno Virtual En La Misma Carpeta del Bot, Porque Los Entornos Virtuales Son Totalmente Diferentes unos de Otros.

Esto es un post internuctorio, no Insinuó que ese es todo lo que se pueda hacer con bot porq la verdad hay mugas posibilidades, esto es solo lo básico para comenzar con esta fabuloso y divertido mundo de los bot. SIN NADA MAS QUE AGREGAR, Dios Mediante Seguiré Escribiendo, El Próximo post seguramente tratara de переменные de etnorno.

Espero Haya Sido de Su Agrado пока:) alguna duda o error por déjamelo en los comentarios.

DEDICACION A: @adeodato

Оригинал: “https://dev.to/alexanderg/como-crear-un-bot-en-discord-py-4hgc”