def send_newsletter(update: Update, context: CallbackContext):
    text = update.effective_message.text
    if text != 'Отменить':

        chat_id_list = get_newsletter_chat_ids(newsletter_type=context.user_data['newsletter_type'])
        for chat_id in chat_id_list:
            context.bot.send_message(
                chat_id=chat_id,
                text=text,
                parse_mode=ParseMode.HTML
            )

        if context.user_data['newsletter_type'] == 'For authors':
            set_weekly_useful_info(info_type='Author', text=text)
        else:
            set_weekly_useful_info(info_type='Cardmaker', text=text)

        context.bot.send_message(
            chat_id=update.effective_message.chat_id,
            text='Сообщение было успешно разослано!',
            reply_markup=get_base_reply_keyboard(context.user_data['Role'])
        )
        return ConversationHandler.END
    else:
        update.message.reply_text(
            'Отправка материала была отменена',
            reply_markup=get_base_reply_keyboard(member_role=context.user_data['Role'])
        )
        return ConversationHandler.END
def delete_disapprove_messages(update: Update, context: CallbackContext,
                               text: str):
    if text != 'Отменить':
        update.message.reply_text(
            'Ваш комментарий был успешно отправлен автору',
            reply_markup=get_base_reply_keyboard(member_role='Supervisor'))
    else:
        update.message.reply_text(
            'Отмена',
            reply_markup=get_base_reply_keyboard(member_role='Supervisor'))
    for message_id in MESSAGES_TO_DELETE:
        context.bot.delete_message(
            chat_id=update.effective_message.chat_id,
            message_id=message_id,
        )
    MESSAGES_TO_DELETE.clear()
Exemple #3
0
def authorize_user_in_system(update: Update, context: CallbackContext):
    set_user_chat_id(user_id=update.effective_user.id,
                     chat_id=update.effective_chat.id)
    context.user_data['Name'], context.user_data['Role'], context.user_data[
        'Chat_ID'] = get_user_info(user_id=update.effective_user.id)
    user_name = context.user_data['Name'].split()
    update.message.reply_text(
        f"{user_name[0]}, Вас приветствует бот «Хакнем Школа»!",
        reply_markup=get_base_reply_keyboard(
            member_role=context.user_data['Role']),
    )
def set_author_name_conv_handler(update: Update, context: CallbackContext):
    text = update.effective_message.text
    if text != 'Отменить':
        context.user_data['send_by_author_name'] = text
        update.message.reply_text('Отправьте материал в формате *docx*:')
        return COORDINATOR_DOCUMENT
    else:
        update.message.reply_text(
            'Отправка материала была отменена',
            reply_markup=get_base_reply_keyboard(member_role=context.user_data['Role'])
        )
        return ConversationHandler.END
def setup_new_member_role_error_conv_handler(update: Update, context: CallbackContext):
    text = update.effective_message.text
    if text == 'Отменить':
        context.bot.send_message(
            chat_id=update.effective_message.chat_id,
            text='Отмена',
            reply_markup=get_base_reply_keyboard(member_role=context.user_data['Role'])
        )

        return ConversationHandler.END
    else:
        context.bot.send_message(
            chat_id=update.effective_message.chat_id,
            text='Попробуйте снова!'
        )

        return NEW_MEMBER_ROLE
def setup_new_member_name_conv_handler(update: Update, context: CallbackContext):
    text = update.effective_message.text

    if text != 'Отменить':
        context.user_data['New_member_name'] = text
        context.bot.send_message(
            chat_id=update.effective_message.chat_id,
            text='Выберите роль нового участника:',
            reply_markup=get_new_member_choose_role()
        )

        return NEW_MEMBER_ROLE
    else:
        context.bot.send_message(
            chat_id=update.effective_message.chat_id,
            text='Отмена',
            reply_markup=get_base_reply_keyboard(member_role=context.user_data['Role'])
        )

        return ConversationHandler.END
def setup_new_member_id_conv_handler(update: Update, context: CallbackContext):
    text = update.effective_message.text
    if text != 'Отменить':
        try:
            context.user_data['New_member_id'] = int(text)
        except ValueError:
            context.bot.send_message(
                chat_id=update.effective_message.chat_id,
                text='Неверное id, попробуйте снова!',
            )

            return NEW_MEMBER_ID

        set_user_info(user_id=context.user_data['New_member_id'],
                      member_name=context.user_data['New_member_name'],
                      role=context.user_data['New_member_role'])

        context.bot.send_message(
            chat_id=update.effective_message.chat_id,
            text='Новый участник успешно добавлен в базу данных!',
            reply_markup=get_base_reply_keyboard(member_role=context.user_data['Role'])
        )

        return ConversationHandler.END