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.824 ]
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()
Monitoramento de Comunicação - Blackbox Exporter(ICMP) + Prometheus + Grafana
Scikit Learn: Projetando o futuro de suas APIs e aplicativos usando machine learning
Centralizando logs com Promtail + Loki + Grafana
Detectando vulnerabilidades com o Nessus
Rundeck - Um Poderoso Agendador de Tarefas
Python para pesquisadores: material didático
Como isolar seus projetos Python com virtualenv (ambiente virtual)
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Gerar senhas seguras com Python
Introdução a Threads e como implementá-las em Python
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como quebrar senha usando john the ripper
[Resolvido] VirtualBox can't enable the AMD-V extension
Como verificar a saúde dos discos no Linux
Como instalar , particionar, formatar e montar um HD adicional no Linux?
Não consigo instalar distro antiga no virtualbox nem direto no hd (25)
queria saber como posso alterar a frequencia do meu ryzen 2300u pro (3)









