示例#1
0
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('Вы не подписаны')
示例#2
0
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 чтобы подписаться')
示例#3
0
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 чтобы подписаться")
示例#4
0
def send_updates(bot, job):
    for user in get_subscribers(db):
        try:
            bot.send_message(user['chat_id'], 'F**K')
        except error.BadRequest:
            print('Chat {} not found'.format(user['chat_id']))
            toggle_subscription(db, user)
示例#5
0
def unsubscribe(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("Спасибо, что были с нами!")
    else:
        update.message.reply_text(
            "Вы не подписаны, наберите /subscribe чтобы подписаться")
示例#6
0
def unsubscribe(update, context):
    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 чтобы подписаться.'
        )
示例#7
0
def unsubscribe(bot, update):
    user = get_or_create_user(db, update.effective_user, update.message)
    #if update.message.chat_id in subscribers
    if user.get('subscribed'):  # проверка на то подписан ли пользователь
        #subscribers.remove(update.message.chat_id)
        toggle_subscription(db, user)
        update.message.reply_text('Вы отписались')
    else:  # если такого чата нету
        update.message.reply_text(
            'Вы не подписаны, нажмите /subscribe для подписки')
示例#8
0
def subscribe(update, context):
    user = get_or_create_user(db, update.effective_user, update.message)
    if not user.get('subscribed'):
        toggle_subscription(db, user)
    context.bot.send_message(chat_id=update.message.chat_id,
                             text='Я напомню о мероприятии через минуту.')
    context.job_queue.run_once(send_reminder,
                               2,
                               context=update.message.chat_id)
    sub = 'Пользователь подписался на напоминание:'
    logging.info(sub)
    logging.info('User: %s, Chat id: %s', update.message.chat.username,
                 update.message.chat.id)
示例#9
0
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('Вы подписались')
示例#10
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="Сработал будильник!")

    
示例#11
0
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(
        "Вы подписались, наберите /unsubscribe чтобы отписаться")
示例#12
0
def subscribe(update, context):
    user = get_or_create_user(db, update.effective_user, update.message)
    if not user.get('subscribed'):
        toggle_subscription(db, user)
    #subscribers.add(update.message.chat_id)
    update.message.reply_text('Вы подписались')