1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
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"]
TELEGRAM_WEBHOOK_URL = config["API"]["TELEGRAM_WEBHOOK_URL"]
HEALTHCHECK_URL = config["API"]["HEALTHCHECK_URL"]
FEDI_LOGIN_CALLBACK_URL = config["API"]["FEDI_LOGIN_CALLBACK_URL"]
BOT_DOMAIN = config["API"]["BOT_DOMAIN"]
BOT_PORT = int(config["API"]["BOT_PORT"])
MEDIA_GROUP_TIMEOUT = 3
FEDI_LOGIN, WAIT_VISIBILITY, WAIT_LOCATION, LOCATION_SEARCH_KEYWORD, LOCATION_CONFIRMATION, ADD_MEDIA, ADD_COMMENT = range(7)
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"
BOT_SCOPE = ['read:accounts', 'write:media', 'write:statuses']
|