コード例 #1
0
ファイル: handlers.py プロジェクト: smirnov8181/learnbot
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())
コード例 #2
0
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())
コード例 #3
0
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())
コード例 #4
0
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())
コード例 #5
0
ファイル: handlers.py プロジェクト: dennyjuice/botlp
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())
コード例 #6
0
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())
コード例 #7
0
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))
コード例 #8
0
ファイル: handlers.py プロジェクト: korneevm/learnbot
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())
コード例 #9
0
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))
コード例 #10
0
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))
コード例 #11
0
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())
コード例 #12
0
ファイル: handlers.py プロジェクト: r2d2-lex/bot-telegramm
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())
コード例 #13
0
ファイル: handlers.py プロジェクト: r2d2-lex/bot-telegramm
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())
コード例 #14
0
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="Сработал будильник!")

    
コード例 #15
0
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())
コード例 #16
0
ファイル: handlers.py プロジェクト: dennyjuice/botlp
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())
コード例 #17
0
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)
コード例 #18
0
ファイル: handlers.py プロジェクト: korneevm/learnbot
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())
コード例 #19
0
ファイル: handlers.py プロジェクト: smirnov8181/learnbot
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())