def top_next(index: int, data: Dict[str, Any]) -> InlineKeyboardButton: return InlineKeyboardButton(emj.PLUS, callback_data=sed.encode( **data, **{ sed.kv.DIR: sed.kv.DIR_NEXT, sed.kv.INDEX: index }))
def language(lang: str) -> InlineKeyboardButton: return InlineKeyboardButton( phr.LANGUAGE(lang), callback_data=sed.encode(**{ sed.kv.ACT: sed.kv.ACT_CHANGE_LANG, sed.kv.LANG: lang }))
def top_prev(index: int, data: Dict[str, Any]) -> InlineKeyboardButton: return InlineKeyboardButton(emj.MINUS, callback_data=sed.encode( **data, **{ sed.kv.DIR: sed.kv.DIR_PREV, sed.kv.INDEX: index }))
def close_deal(lang: str, creator: bool, contributor: bool) -> InlineKeyboardButton: return InlineKeyboardButton(phr.CONFIRM(lang), callback_data=sed.encode( **{ sed.kv.ACT: sed.kv.ACT_CLOSE_DEAL, sed.kv.CONTRIBUTOR: contributor, sed.kv.CREATOR: creator }))
def create_withdraw_task(user: int, card: str, amount: str, wait_until: Optional[datetime] = None) -> None: task = WITHDRAW_TEMPLATE.copy() task["http_request"]["body"] = sed.encode(**{ sed.kv.USER: user, sed.kv.CARD: card, sed.kv.AMOUNT: amount }).encode() task["schedule_time"] = stamp.FromDatetime( datetime.utcnow() if wait_until is None else wait_until) client.create_task(WITHDRAW_PATH, task)
def replenish(lang: str) -> InlineKeyboardButton: return InlineKeyboardButton(phr.REPLENISH(lang), url=tg.BOT_DEEPLINK + sed.encode(**{sed.kv.ACT: sed.kv.ACT_REPL}))
def request_ban(lang: str, data: Dict[str, Any]) -> InlineKeyboardButton: return InlineKeyboardButton( phr.REQUEST_BAN(lang), callback_data=sed.encode(**data, **{sed.kv.ACT: sed.kv.ACT_BAN}))
def replenish_method(method: str, card_number: str, data: Dict[str, Any]) -> InlineKeyboardButton: return InlineKeyboardButton( method, callback_data=sed.encode(**data, **{sed.kv.CARD: card_number}))
def replenish(lang: str) -> InlineKeyboardButton: return InlineKeyboardButton( phr.REPLENISH(lang), callback_data=sed.encode(**{sed.kv.ACT: sed.kv.ACT_REPL}))
def cancel_language(lang: str) -> InlineKeyboardButton: return InlineKeyboardButton( phr.CANCEL(lang), callback_data=sed.encode(**{sed.kv.ACT: sed.kv.ACT_CANCEL_LANG}))
def top_creator(lang: str) -> InlineKeyboardButton: return InlineKeyboardButton( phr.TOP_CREATOR(lang), callback_data=sed.encode(**{sed.kv.ACT: sed.kv.ACT_TOP_CREATOR}))
def top_contributor(lang: str) -> InlineKeyboardButton: return InlineKeyboardButton( phr.TOP_CONTRIBUTOR(lang), callback_data=sed.encode(**{sed.kv.ACT: sed.kv.ACT_TOP_CONTRIBUTOR}))
def top_best(data: Dict[str, Any]) -> InlineKeyboardButton: return InlineKeyboardButton( emj.TOP_DIRECTION, callback_data=sed.encode(**data, **{sed.kv.DIR: sed.kv.DIR_BEST}))
def top_me(lang: str, data: Dict[str, Any]) -> InlineKeyboardButton: return InlineKeyboardButton( phr.ME(lang), callback_data=sed.encode(**data, **{sed.kv.DIR: sed.kv.DIR_ME}))
def create_post(lang: str) -> InlineKeyboardButton: return InlineKeyboardButton( phr.POST_CREATE(lang), callback_data=sed.encode(**{sed.kv.ACT: sed.kv.ACT_CREATE_POST}))