from config import * from telegram import __version__ as TG_VER from typing import cast, List from telegram import InlineKeyboardButton, InlineKeyboardMarkup, Update, ReplyKeyboardMarkup, KeyboardButton from telegram.ext import Application, CallbackQueryHandler, CommandHandler, ContextTypes, MessageHandler, filters, \ ConversationHandler, CallbackContext from telegram.constants import ParseMode, ChatAction from telegram.error import BadRequest from telegram import InlineKeyboardButton, InlineKeyboardMarkup, ReplyKeyboardRemove async def start_command(update: Update, context: ContextTypes.DEFAULT_TYPE) -> int: hello = "Hello, this is `checkin.bot`. \n\n" \ "This is a Telegram bot with functionality similar to Foursquare Swarm, " \ "but check in and post your location to the Fediverse (Mastodon/Pleroma) instead of Twitter.\n\n" \ "Aware of privacy concerns, this bot will not store your location data." \ "*Be safe and cautious when sharing your real time location on the web.* \n\n" \ "Start using this bot by sharing your location using Telegram context menu to it." await update.message.reply_text(hello, parse_mode=ParseMode.MARKDOWN) await update.message.reply_text(PROMPT_CHOOSE_ACTION, reply_markup=MAIN_MENU) return WAIT_LOCATION async def help_command(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None: await update.message.reply_text(PROMPT_HELP) async def cancel_command(update: Update, context: ContextTypes.DEFAULT_TYPE) -> int: await update.message.reply_text(text=PROMPT_CANCELED, reply_markup=MAIN_MENU) return ConversationHandler.END