Crie um bot para Telegram e gerencie a escala de plantonistas
O uso de bots em aplicativos de mensagens como o Telegram tem se tornado cada vez mais comum. Eles podem ser utilizados para as mais diversas finalidades, desde tirar dúvidas até realizar tarefas específicas. Neste artigo, apresentaremos um exemplo de bot para o Telegram que permite o cadastro e consulta de plantonistas.
[ Hits: 3.874 ]
Por: Leonardo Berbert Gomes em 04/04/2023 | Blog: https://www.linkedin.com/in/leoberbert
import sqlite3
# Conectar ao banco de dados
conn = sqlite3.connect('plantao.db')
# Criar uma tabela chamada plantao
conn.execute('''
CREATE TABLE plantao (
plantonista TEXT,
data TEXT
);
''')
# Fechar a conexão com o banco de dados
conn.close()
from flask import Flask, render_template, request, redirect, url_for
from flask_httpauth import HTTPBasicAuth
import sqlite3
import logging
log = logging.getLogger('werkzeug')
log.setLevel(logging.ERROR)
app = Flask(__name__)
auth = HTTPBasicAuth()
# Define o caminho para o banco de dados
DB_PATH = 'plantao.db'
# Dicionário com os usuários e senhas
USERS = {
"plantonista": "guarana"
}
# Função que verifica se um usuário está autorizado
@auth.verify_password
def verify(username, password):
if not (username and password):
return False
return USERS.get(username) == password
@app.route('/plantao', methods=['GET', 'POST'])
@auth.login_required
def cadastro_plantonista():
if request.method == 'POST':
plantonista = request.form['plantonista']
data = request.form['data']
# Conecta ao banco de dados
conn = sqlite3.connect(DB_PATH)
# Insere os dados na tabela "plantao"
cur = conn.cursor()
cur.execute("INSERT INTO plantao (plantonista, data) VALUES (?, ?)", (plantonista, data))
conn.commit()
# Fecha a conexão com o banco de dados
conn.close()
# Redireciona para a página de confirmação
return redirect(url_for('cadastro_sucesso', plantonista=plantonista, data=data))
return render_template('index.html')
@app.route('/cadastro_sucesso')
def cadastro_sucesso():
plantonista = request.args.get('plantonista')
data = request.args.get('data')
return render_template('cadastro_sucesso.html', plantonista=plantonista, data=data)
if __name__ == '__main__':
app.run(host='0.0.0.0',debug=True,port=5000)
import sqlite3
# Estabelecendo conexão com o banco de dados
conn = sqlite3.connect('plantao.db')
# Criando um cursor para executar comandos SQL
cursor = conn.cursor()
# Executando uma consulta SELECT em uma tabela
cursor.execute("SELECT * FROM plantao")
# Obtendo todos os resultados da consulta
resultados = cursor.fetchall()
# Imprimindo os resultados na tela
for linha in resultados:
print(linha)
# Fechando a conexão com o banco de dados
conn.close()
Rundeck - Um Poderoso Agendador de Tarefas
Monitoramento de Comunicação - Blackbox Exporter(ICMP) + Prometheus + Grafana
Solucionando problemas no sistema de arquivos
Monitorando as conversas do MSN
Centralizando logs com Promtail + Loki + Grafana
Integração do ChatGPT em uma API Python
Python - Usando requests anônimos através da rede Tor
Breve Estudo Sobre Ransomwares e Análise Estática/Dinâmica do WannaCry
Como criar um bot para curtir e comentar perfis do Instagram
Robótica com Android e Arduino
librePods: liberte seus AirPods em 2026
Bluefin - A nova geração de ambientes de trabalho Linux
Como atualizar sua versão estável do Debian
Instalando e definindo as novas fontes Adwaita no GNOME
Configurar aviso da temperatura da CPU no Conky
Pós-instalação do elementary OS 8.1
Quer auto-organizar janelas (tiling) no seu Linux? Veja como no Plasma 6 e no Gnome
Copiando caminho atual do terminal direto para o clipboard do teclado
archlinux resolução abaixou após atualização [RESOLVIDO] (19)
Após todos esses anos... youtube! (0)
Conky não mostra temperaturas da CPU no notebook (14)
Registro do 'last&qu... errado [RESOLVIDO] (9)
O WiFi não reconhece minha rede depois que o processo de suspensão é r... (2)









