import io from time import sleep from bson import ObjectId from flask import Flask, Response, request, redirect, jsonify, send_file from minio import Minio, S3Error from telebot.apihelper import ApiTelegramException import settings from api_processors import steps_dict from mongo import mongo app = Flask("roulette") @app.route('/letsgonumber') def step(): number = request.args.get('num') action = steps_dict[int(number)] for chat in mongo.chats_collection.find({}): try: action(chat) except ApiTelegramException as e: print(e) sleep(.2) return redirect('/adminkadlyapazanov') @app.route('/adminkadlyapazanov') def index(): return Response(''' Приветствие


Спокойной ночи


Доброе утро


Квиз 1


Время фото


Музло


Квиз 2


Открытки


Промокоды


''') @app.route('/info') def info(): s = "" for chat in mongo.chats_collection.find({}): for key, value in chat.items(): s += f"{key}: {value}
" s += f"

" return Response(s) @app.route('/photo') def photo(): chat_id = int(request.args.get('chat_id')) doc = mongo.chats_collection.find_one({"chat_id": chat_id}) client = Minio( settings.MINIO_HOST, access_key=settings.MINIO_ACCESS_KEY, secret_key=settings.MINIO_SECRET_KEY, secure=False ) try: data = client.get_object( "8march-bot", f"selfies/{chat_id}-{doc['username']}-{doc['telegram_name']}.jpg", ).data except S3Error: data = open('shrek.jpeg', 'rb').read() return send_file(io.BytesIO(data), mimetype='image/jpg') @app.route('/dialogs') def main(): html = "" for dialog in mongo.dialogs_collection.find({}).sort([('started_at', -1)]): html += f'{dialog["_id"]}
' html += "" return html @app.route('/dialog') def dialog(): html = "" for message in mongo.messages_collection.find({"dialog_id": ObjectId(request.args.get('dialog_id'))}).sort([('sent_at', 1)]): html += f'{message["sender"]}: {message["text"]}
' html += "" return html