from telegram import InlineKeyboardButton, InlineKeyboardMarkup, ReplyKeyboardMarkup, KeyboardButton from prompt.string import * from typing import TypedDict import configparser config = configparser.ConfigParser() config.read("config.ini") BOT_TOKEN = config["DEFAULT"]["BOT_TOKEN"] FSQ_API_KEY = config["DEFAULT"]["FOURSQUARE_API_KEY"] ENCRYPT_KEY = config["DEFAULT"]["ENCRYPT_KEY"] MEDIA_GROUP_TIMEOUT = 3 FEDI_LOGIN, WAIT_LOCATION, LOCATION_SEARCH_KEYWORD, LOCATION_CONFIRMATION, ADD_MEDIA, ADD_COMMENT = range(6) MAIN_MENU = ReplyKeyboardMarkup([ [KeyboardButton(text="Check-in here", request_location=True)], [KeyboardButton(text="/Help")] ]) LOGIN_MENU = ReplyKeyboardMarkup([ [KeyboardButton(text="/login")], [KeyboardButton(text="/Help")] ]) SKIP_LOCATION_SEARCH = CALLBACK_SKIP INLINE_SKIP_MENU = InlineKeyboardMarkup([ [InlineKeyboardButton("Skip", callback_data=SKIP_LOCATION_SEARCH)] ]) class MsgDict(TypedDict): media_id: str caption: str status_id: int content: str chat_id: int KEY_TOOT_STATUS_ID = "toot_status_id" KEY_TOOT_STATUS_CONTENT = "toot_status_content" TELEGRAM_WEBHOOK_URL = "/checkinbot/webhook" HEALTHCHECK_URL = "/checkinbot/healthcheck" FEDI_LOGIN_CALLBACK_URL = "/checkinbot/fedi_login_callback" BOT_DOMAIN = "https://zjw.social" BOT_PORT = 30010 BOT_SCOPE = ['read:accounts', 'write:media', 'write:statuses']