def publish_post_link(post: Post, channel_id: str): title = format_title(post) text = title + f'\n{post.link}' keyboard_markup = build_keyboard_markup(post, pass_original=False) bot.send_message(text=text, chat_id=channel_id, reply_markup=keyboard_markup, parse_mode=ParseMode.HTML)
def post_title(post: Post, config: ImgurConfig): title = format_album_title(post) # reply_markup = build_keyboard_markup(post) title_message = bot.send_message( chat_id=config.chat_id, text=title, # reply_markup=reply_markup, disable_web_page_preview=True) return title_message
def notify_admins(text: str, type='pending', clean=True): if clean: for message in messages[type]: message.delete() messages[type] = [] for admin in settings.TG_ADMINS: try: msg = bot.send_message(admin, text) messages[type].append(msg) except TelegramError as e: logger.warning(e)
def publish_media_post(post: Post, channel_id: str, post_title=None): title = format_title(post) keyboard_markup = build_keyboard_markup(post) common = { 'chat_id': channel_id, 'reply_markup': keyboard_markup, } subreddit = post.subreddit show_title = subreddit.show_title if post_title is None else post_title # need title, post pic and text separately if show_title and title and len(title) > MAX_CAPTION_LENGTH: publish_media(post, chat_id=channel_id) kwargs = dict(text=title, **common) bot.send_message(**kwargs) # need title, post pic with caption elif show_title: kwargs = dict(caption=title, **common) publish_media(post, **kwargs) # post just pic else: kwargs = dict(**common) publish_media(post, **kwargs)