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()
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