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: 2.448 ]
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()
Scikit Learn: Projetando o futuro de suas APIs e aplicativos usando machine learning
Monitoramento de Comunicação - Blackbox Exporter(ICMP) + Prometheus + Grafana
Detectando vulnerabilidades com o Nessus
Instalando Apache, PHP e PostgreSQL no Slackware 12 (compilando)
Monitorando as conversas do MSN
Esteganografia e Esteganálise: transmissão e detecção de informações ocultas em imagens digitais
Python - Enviando Backup para Servidor Secundário
Python para pesquisadores: material didático
Python: automatizando a extração de informações na web com expressões regulares
Redes definidas por Software com Mininet e POX - Criando meu primeiro Controlador
Atenção a quem posta conteúdo de dicas, scripts e tal (2)
Criando um gateway de internet com o Debian
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Aprenda a criar músicas com Inteligência Artificial usando Suno AI
Entendendo o que é URI, URL, URN e conhecendo as diferenças entre POST e GET
Ativando o Modo Noturno via Linha de Comando no GNOME/Wayland
Preparando pendrive com GNU/Linux [Corretamente!]
Instalando Google Chrome no Fedora 40
Habilitando a importação de senhas no Firefox
Como corrigir o erro do VirtualBox travar a máquina virtual em tela cheia
Navegadores com linhas na tela (2)
Acesso remoto via SSH por Script numa virtualbox (2)
Comando ls não lista no diretório root[DUVIDA] (1)