def change_avatar(bot, update, user_data): user = get_or_create_user(db, update.effective_user, update.message) emo = get_user_emo(db, user) if 'emo' in user_data: del user['emo'] emo = get_user_emo(db, user) update.message.reply_text('Готово: {}'.format(emo), reply_markup=get_keyboard())
def greet_user(bot, update, user_data): user = get_or_create_user(db, update.effective_user, update.message) emo = get_user_emo(db, user) user_data['emo'] = emo text = 'Привет {}'.format(emo) logging.info(text) update.message.reply_text(text, reply_markup=get_keyboard())
def chenge_avatar(update, context): user = get_or_create_user(db, update.effective_user, update.message) if 'emo' in user: del user['emo'] emo = get_user_emo(user) update.message.reply_text(f'Готово {emo}', reply_markup=get_keyboard())
def talk_to_me(update, context): user = get_or_create_user(db, update.effective_user, update.message) emo = get_user_emo(user) user_text = f'Привет {user["first_name"]} {emo} Ты написал: {update.message.text}' logging.info("User: %s, Chat id: %s, Message: %s", user['username'], update.message.chat.id, update.message.text) update.message.reply_text(user_text, reply_markup=get_keyboard())
def talk_to_me(bot, update, user_data): user = get_or_create_user(db, update.effective_user, update.message) emo = get_user_emo(db, user) user_text = "{}! Cам {}... {}".format(user['first_name'], update.message.text, emo) logging.info("User: %s, Chat ID: %s, Message: %s", user['username'], user['chat_id'], update.message.text) update.message.reply_text(user_text, reply_markup = get_keyboard())
def talk_to_me(bot, update, user_data): emo = get_user_emo(user_data) user_text = 'Привет {} {}! Ты написал: {}'.format(user['first_name'], emo, update.message.text) logging.info('User: %s, Chat id: %s, Message: %s', user['username'], update.message.chat.id, update.message.text) update.message.reply_text(user_text, reply_markup=get_keyboard())
def greet_user(bot, update, user_data): user = get_or_create_user(db, update.effective_user, update.message) emo = get_user_emo(db, user) text = 'Привет, {} {}'.format(update.message.chat.first_name, emo) update.message.reply_text(text, reply_markup=get_keyboard()) logging.info('{}({}): /start'.format(update.message.chat.username, update.message.chat.first_name))
def talk_to_me(bot, update, user_data): user = get_or_create_user(db, update.effective_user, update.message) emo = get_user_emo(db, user) user_text = "Привет {} {}! Ты написал: {}".format(user['first_name'], emo, update.message.text) logging.info("User: %s, Chat id: %s, Message: %s", user['username'], update.message.chat.id, update.message.text) update.message.reply_text(user_text, reply_markup=get_keyboard())
def talk_to_me(bot, update, user_data): user = get_or_create_user(db, update.effective_user, update.message) emo = get_user_emo(db, user) user_text = update.message.text text = f'{emo} {user_text}' update.message.reply_text(text, reply_markup=get_keyboard()) logging.info('{}({}): wrote smth'.format(update.message.chat.username, update.message.chat.first_name))
def change_avatar(bot, update, user_data): user = get_or_create_user(db, update.effective_user, update.message) if 'emo' in user: del user['emo'] emo = get_user_emo(db, user) text = 'Новая аватарка -> {}'.format(emo) update.message.reply_text(text, reply_markup=get_keyboard()) logging.info('{}({}): avatar changed'.format( update.message.chat.username, update.message.chat.first_name))
def greet_user(update, context): #print(update.message.chat_id) user = get_or_create_user(db, update.effective_user, update.message) emo = get_user_emo(user) context.user_data['emo'] = emo user_text = f'Привет {emo}' context.bot.send_message(chat_id=update.effective_chat.id, text=user_text, reply_markup=get_keyboard())
def talk_to_me(bot, update, user_data): user = get_or_create_user(db, update.effective_user, update.message) emo = get_user_emo(db, user) user_text = "Привет {0} {1}! Ты написал: {2}".format( user['first_name'], emo, update.message.text) logging.info("User %s, Chat id: %s, Message: %s", user['first_name'], update.message.chat_id, update.message['text']) # print(update.message) print('Date:', update.message['date']) print('From:', update.message['chat']['first_name'], update.message['chat']['last_name']) update.message.reply_text(user_text, reply_markup=get_keyboard())
def greet_user(bot, update, user_data): user = get_or_create_user(db, update.effective_user, update.message) #debug print("User:"******"user_data:", user_data) print("Effective User: "******"\r\n") print("Update Message: ", update.message, "\r\n") #/debug emo = get_user_emo(db, user) user_data['emo'] = emo text = 'Вызван start!' print(text) update.message.reply_text(text, reply_markup=get_keyboard())
def talk_to_me(bot, update, user_data): user = get_or_create_user(db, update.effective_user, update.message) emo = get_user_emo(db, user) user_text = "Привет {} {}! Ты написал: {}".format(user['first_name'], emo, update.message.text) logging.info("User: %s, Chat id: %s, Message: %s", user['username'], update.message.chat.id, update.message.text) update.message.reply_text(user_text, reply_markup=get_keyboard() def send_cat_picture(bot, update, user_data): user = get_or_create_user(db, update.effective_user, update.message) cat_list = glob('images/cat*.jp*g') cat_pic = choice(cat_list) bot.send_photo(chat_id=update.message.chat.id, photo=open(cat_pic, 'rb'), reply_markup=get_keyboard()) def change_avatar(bot, update, user_data): user = get_or_create_user(db, update.effective_user, update.message) if 'emo' in user: del user['emo'] emo = get_user_emo(db, user) update.message.reply_text('Готово: {}'.format(emo), reply_markup=get_keyboard()) def get_contact(bot, update, user_data): user = get_or_create_user(db, update.effective_user, update.message) print(update.message.contact) update.message.reply_text('Готово: {}'.format(get_user_emo(db, user)), reply_markup=get_keyboard()) def get_location(bot, update, user_data): user = get_or_create_user(db, update.effective_user, update.message) print(update.message.location) update.message.reply_text('Готово: {}'.format(get_user_emo(db, user)), reply_markup=get_keyboard()) def check_user_photo(bot, update, user_data): user = get_or_create_user(db, update.effective_user, update.message) update.message.reply_text("Обрабатываю фото") os.makedirs('downloads', exist_ok=True) photo_file = bot.getFile(update.message.photo[-1].file_id) filename = os.path.join('downloads', '{}.jpg'.format(photo_file.file_id)) photo_file.download(filename) if is_cat(filename): update.message.reply_text("Обнаружен котик, добавляю в библиотеку.") new_filename = os.path.join('images', 'cat_{}.jpg'.format(photo_file.file_id)) os.rename(filename, new_filename) else: update.message.reply_text("Тревога, котик не обнаружен!") os.remove(filename) def anketa_start(bot, update, user_data): user = get_or_create_user(db, update.effective_user, update.message) update.message.reply_text("Как вас зовут? Напишите имя и фамилию", reply_markup=ReplyKeyboardRemove()) return "name" def anketa_get_name(bot, update, user_data): user = get_or_create_user(db, update.effective_user, update.message) user_name = update.message.text if len(user_name.split(" ")) != 2: update.message.reply_text("Пожалуйста введите имя и фамилию") return "name" else: user_data['anketa_name'] = user_name reply_keyboard = [["1", "2", "3", "4", "5"]] update.message.reply_text( "Оцените нашего бота от 1 до 5", reply_markup=ReplyKeyboardMarkup(reply_keyboard, one_time_keyboard=True) ) return "rating" def anketa_rating(bot, update, user_data): user = get_or_create_user(db, update.effective_user, update.message) user_data['anketa_rating'] = update.message.text update.message.reply_text("""Пожалуйста напишите отзыв в свободной форме или /skip стобы пропустить этот шаг""") return "comment" def anketa_comment(bot, update, user_data): user = get_or_create_user(db, update.effective_user, update.message) user_data['anketa_comment'] = update.message.text text = """ <b>Фамилия Имя:</b> {anketa_name} <b>Оценка:</b> {anketa_rating} <b>Комментарий:</b> {anketa_comment}""".format(**user_data) update.message.reply_text(text, reply_markup=get_keyboard(), parse_mode=ParseMode.HTML) return ConversationHandler.END def anketa_skip_comment(bot, update, user_data): user = get_or_create_user(db, update.effective_user, update.message) text = """ <b>Фамилия Имя:</b> {anketa_name} <b>Оценка:</b> {anketa_rating}""".format(**user_data) update.message.reply_text(text, reply_markup=get_keyboard(), parse_mode=ParseMode.HTML) return ConversationHandler.END def dontknow(bot, update, user_data): user = get_or_create_user(db, update.effective_user, update.message) update.message.reply_text("Не понимаю") def subscribe(bot, update): user = get_or_create_user(db, update.effective_user, update.message) if not user.get('subscribed'): toggle_subscription(db, user) update.message.reply_text('Вы подписались') @mq.queuedmessage def send_updates(bot, job): for user in get_subscribers(db): try: bot.sendMessage(chat_id=user['chat_id'], text="BUZZZ!") except error.BadRequest: print('Chat {} not found'.format(user['chat_id'])) def unsubscribe(bot, update): user = get_or_create_user(db, update.effective_user, update.message) if user.get('subscribed'): toggle_subscription(db, user) update.message.reply_text("Вы отписались") else: update.message.reply_text("Вы не подписаны, нажмите /subscribe чтобы подписаться") def set_alarm(bot, update, args, job_queue): try: seconds = abs(int(args[0])) job_queue.run_once(alarm, seconds, context=update.message.chat_id) except(IndexError, ValueError): update.message.reply_text("Введите количество секунд после /alarm") @mq.queuedmessage def alarm(bot, job): bot.sendMessage(chat_id=job.context, text="Сработал будильник!")
def get_contact(bot, update, user_data): user = get_or_create_user(db, update.effective_user, update.message) print(update.message.contact) update.message.reply_text('Спасибо! {}'.format(get_user_emo(db, user)), reply_markup=get_keyboard())
def greet_user(bot, update, user_data): user = get_or_create_user(db, update.effective_user, update.message) emo = get_user_emo(db, user) user_data['emo'] = emo text = 'Че нада, пля? {}'.format(emo) update.message.reply_text(text, reply_markup = get_keyboard())
def greet_user(bot, update, user_data): user_data = get_or_create_user(db, update.effectivve_user, update.message) emo = get_user_emo(db, user) user_data['emo'] = emo #присваивание рандомного смайлика text = 'Hello {}'.format(emo) update.message.reply_text(user_text, reply_markup=get_keyboard)
def get_location(bot, update, user_data): user = get_or_create_user(db, update.effective_user, update.message) print(update.message.location) update.message.reply_text('Готово: {}'.format(get_user_emo(db, user)), reply_markup=get_keyboard())
def get_contact(bot, update, user_data): user = get_or_create_user(db, update.effective_user, update.message) logging.info(update.message.contact) update.message.reply_text('Готово: {}'.format(get_user_emo(db, user)), reply_markup=get_keyboard())