Esempio n. 1
0
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)
Esempio n. 2
0
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
Esempio n. 3
0
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)
Esempio n. 4
0
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)