def accept_suggestion(bot, update, suggestion: Suggestion):
    user = User.from_telegram_object(update.effective_user)
    suggestion.apply()

    if suggestion.action == 'offline':
        suggestion_text = '{} went {}.'.format(
            suggestion.subject.str_no_md,
            'offline' if suggestion.subject.offline else 'online')
    else:
        suggestion_text = str(suggestion)

    suggestion_text = suggestion_text[0].upper() + suggestion_text[1:]
    suggestion_text += '\nApproved by ' + user.markdown_short
    bot.send_message(settings.BOTLIST_NOTIFICATIONS_ID,
                     suggestion_text,
                     parse_mode='markdown',
                     disable_web_page_preview=True)

    if user != suggestion.user.chat_id:
        submittant_notification = '*Thank you* {}, your suggestion has been accepted:' \
                                  '\n\n{}'.format(util.escape_markdown(suggestion.user.first_name),
                                                  str(suggestion))
        try:
            bot.send_message(suggestion.user.chat_id,
                             submittant_notification,
                             parse_mode='markdown',
                             disable_web_page_preview=True)
        except BadRequest:
            update.effective_message.reply_text("Could not contact {}.".format(
                suggestion.user.markdown_short),
                                                parse_mode='markdown',
                                                disable_web_page_preview=True)