Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from aiogram.contrib.fsm_storage.memory import MemoryStorage
- import telebot, logging, requests, json, time
- from telebot import types
- import urllib3
- import flask
- from flask_cors import CORS
- import requests
- import logging, asyncore, aiogram
- from aiogram import Bot, Dispatcher, executor, types
- from aiogram.dispatcher.filters import Text, Command
- from aiogram import Bot, Dispatcher, executor
- from callback_data_factory import *
- from aiogram.utils.callback_data import CallbackData
- API_TOKEN = 'token'
- logging.basicConfig(level=logging.INFO)
- storage = MemoryStorage()
- bot = Bot(token=API_TOKEN)
- dp = Dispatcher(bot)
- app = flask.Flask(__name__)
- app.config['JSON_AS_ASCII'] = False
- @app.route('/token', methods=['POST'])
- def webhook():
- if flask.request.headers.get('content-type') == 'application/json':
- json_string = flask.request.get_data().decode('utf-8')
- update = telebot.types.Update.de_json(json_string)
- bot.process_new_updates([update]) #ТУТ ОН РУГАЕТСЯ (Unresolved attribute reference 'process_new_updates' for class 'Bot')
- return ''
- else:
- flask.abort(403)
- def main_menu(message):
- user_id = message.chat.id
- r = requests.post(http_getusertoken, json={"password": "1488", "telegram_id": int(user_id)})
- print(r.json())
- print(r.status_code)
- if r.json()['msg'] == "ok":
- keyboard = types.InlineKeyboardMarkup(True)
- row = [types.InlineKeyboardButton(text="Пройти тест", callback_data="Test")]
- keyboard.row(*row)
- row = [types.InlineKeyboardButton(text="Личная информация", callback_data="personal_information")]
- keyboard.row(*row)
- row = [types.InlineKeyboardButton(text="Перейти на сайт", url="https://howtostudy.ru/home")]
- keyboard.row(*row)
- row = [types.InlineKeyboardButton(text="Выйти", callback_data="exit")]
- keyboard.row(*row)
- return keyboard
- else:
- keyboard = types.InlineKeyboardMarkup(True)
- row = [types.InlineKeyboardButton(text="Регистрация", callback_data="registration")]
- keyboard.row(*row)
- row = [types.InlineKeyboardButton(text="Авторизация", callback_data="auth")]
- keyboard.row(*row)
- row = [types.InlineKeyboardButton(text="Перейти на сайт", callback_data=" ", url="https://howtostudy.ru/home")]
- keyboard.row(*row)
- return keyboard
- @dp.message_handler(state='*', commands=["start"])
- @dp.message_handler(Text(equals='начать', ignore_case=True), state='*')
- async def send_welcome(message):
- img = open("./logo.jpg", "rb")
- await bot.send_photo(message.chat.id, img,
- caption="Добро пожаловать на платформу онлайн тестирования",
- reply_markup=main_menu(message))
- @dp.callback_query_handler(func=lambda call: True)
- def callback_btn(call):
- data = call.data
- async def back_main_menu(message):
- await bot.edit_message_caption("Добро пожаловать на платформу онлайн тестирования", message.chat.id, message.message_id,
- reply_markup=main_menu(message))
- WEBHOOK_SSL_CERT = './webhook_cert.pem'
- WEBHOOK_SSL_PRIV = './webhook_pkey.pem'
- if __name__ == '__main__':
- cors = CORS(app, resources={r"/api/*": {"origins": "*"}})
- bot.delete_webhook()
- bot.set_webhook("https://name.ru/token",
- certificate=open('./webhook_cert.pem', 'r'))
- app.run(host='0.0.0.0', port=5006, ssl_context=(WEBHOOK_SSL_CERT, WEBHOOK_SSL_PRIV), debug=True)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement