Enviar mensagens para o Discord usando um Webhook e Python

Olá pessoal, tudo bem por aí? Vamos para uma dica de como Enviar mensagens para o Discord usando um Webhook e Python de uma forma simples.
Você pode usar isso de várias formas, mas nesse caso vamos enviar a cotação do dóllar para o nosso Canal no DISCORD.

Antes de começar viu que a gente está no YouTube? Dá uma olhada lá para fortalecer a comunidade Coffops 😁:

Configurações no Discord

A primeira coisa que temos que fazer é criar um canal de texto no Discord, e para isso vamos em “TEXT CHANNELS” e clicamos na seta de +:

Dessa forma irá abrir uma página e vamos preencher as informações do canal:

Em seguida, precisamos criar um Webhook que é uma forma de enviar informações para o DISCORD usando uma chamada HTTP. Para criar um Webhook vamos em editar canal clicando na engrenagem ao lado do nome do canal:

Após isso entre no menu de configurações no lado esquerdo na opção integrações:

Agora temos que ir na opção criar Webhook:

Por fim, se não houver nenhum Webhook criado clique na opção criar e depois copie as informações de URL do Webhook, pois é essa URL que vamos usar para enviar as mensagens automaticamente para nosso Canal.

Iniciando script em Python

Agora que temos nosso Webhook criado, podemos enviar as informações para ele usando um Script em Python, que vai basicamente consumir uma API gratuita para com informações do Dollar hoje. (LINK DA API AQUI)

Ao fazer uma chamada de API para o endpoint usando USD-BRL na URL, ele me trás várias informações em um formato JSON, veja:

https://economia.awesomeapi.com.br/last/USD-BRL

{
   "USD":{
      "code":"USD",
      "codein":"BRL",
      "name":"Dólar Americano/Real Brasileiro",
      "high":"4.7408",
      "low":"4.6529",
      "varBid":"-0.0804",
      "pctChange":"-1.7",
      "bid":"4.6568",
      "ask":"4.6603",
      "timestamp":"1648846731",
      "create_date":"2022-04-01 17:58:51"
   }
}

No site do awesomeapi tem uma descrição do significado dos valores, veja:

Bom, o que me interessa nesse caso é saber somente o valor de compra, venda e a variação que ele teve hoje. Então vamos ao nosso código🚀

# IMPORTANDO BIBLIOTECAS
from urllib.request import urlopen
import json

# IMPORTANDO BIBLIOTECAS PARA O DISCORD
# USAR: pip install requests discord discord-webhook
from discord_webhook import DiscordWebhook, DiscordEmbed

# DEFININDO URL
url = "https://economia.awesomeapi.com.br/last/USD-BRL"

# FAZENDO REQUEST E GUARDANDO A RESPOSTA
response = urlopen(url)

# GUARDANDO RESPOSTA USANDO JSON.LOADS
data_json = json.loads(response.read())

# DEFININDO VARIÁVEIS
nome = data_json['USD']['name']
data = data_json['USD']['create_date']
valor_compra = data_json['USD']['bid']
valor_venda = data_json['USD']['ask']
variacao = data_json['USD']['varBid']

# INICIANDO MONTAGEM DA MENSAGEM PARA ENVIAR PARA O DISCORD
webhook = DiscordWebhook(url='https://discordapp.com/api/webhooks/XXXXXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
embed = DiscordEmbed(title='COTAÇÃO', description='%s em %s' %(nome, data), color='03b2f8')
embed.set_author(name='Bot Doidão da Coffops', icon_url='https://coffops.com/wp-content/uploads/2020/09/cropped-logo-coffops-transparente-1.png')
embed.add_embed_field(name='Valor de Compra',value='%s' %(valor_compra))
embed.add_embed_field(name='Valor de Venda',value='%s' %(valor_venda))
embed.add_embed_field(name='Variação',value='%s' %(variacao))

webhook.add_embed(embed)
response = webhook.execute(embed)

Está dos mais bonitos? Claro que não, mas foi o exemplo rápido que eu consegui fazer usando toda a minha habilidade de tamanduá bandeira. 🤣
Basicamente o código acima faz uma chamada de API para o endpoint da cotação do dólar como já expliquei acima e depois começa a montar uma mensagem para enviar para o DISCORD.

Existe um projeto específico no pypi para isso e acabei usando ele para facilitar as coisas =) VEJA AQUI ESSE PROJETO MARAVILHOSO!

Bom, agora ao rodar python3 get_dollar.py o código vai fazer todo o processo e ao final vai enviar as informações para meu grupo no discord, veja:

Por fim espero que eu tenha ajudado você a entender como Enviar mensagens para o Discord usando um Webhook e Python!

Quer saber Como subir aplicação NodeJS com Docker? CLICA AQUI

Deixe um comentário

O seu endereço de e-mail não será publicado.