from flask import Flask from flask import request from teleflask import Teleflask from teleflask.messages import TextMessage from key import API_KEY import logging import yaml import requests #from bot1.states import CreatePostWorkflow from pytgbot.api_types.sendable.reply_markup import InlineKeyboardButton,InlineKeyboardMarkup import os from bot1.chats import ChatManager from bot1 import users #logging.basicConfig(level=logging.INFO) URL_HOSTNAME='bot.2020.fet.at' os.environ['URL_HOSTNAME']='bot.2020.fet.at' app=Flask(__name__) chat_id='108021014' bot = Teleflask(API_KEY) bot.init_app(app) chats=ChatManager(bot.bot) @app.route('/') def home(): return "Home" @app.route('/send/') def send(text=None): bot.bot.send_message(chat_id, text) return "Text: %s
%s" % (text,request.headers) @app.route('/send//') def send_to(chat_id,text=None): print("sending:%s" %chat_id) chats.send(chat_id,text) return "Text: %s
%s" % (text,request.headers) @app.route('/auth//') def auth_user(user_id, token): if user_id in users.data: print("known user") u=users[user_id] if token == u.token: u.user=request.headers["Remote-User"] u.fet_user=True users.to_file() print("authenticating") return "development" def download_file(url): local_filename = url.split('/')[-1] # NOTE the stream=True parameter below with requests.get(url, stream=True) as r: r.raise_for_status() with open(local_filename, 'wb') as f: for chunk in r.iter_content(chunk_size=8192): f.write(chunk) return local_filename @bot.on_update def bot_update(update): from pytgbot.api_types.receivable.updates import Update assert isinstance(update, Update) print(yaml.dump(update.to_array())) chats.process_update(update) app.run(host="0.0.0.0",port="5000",debug=True)