예제 #1
0
파일: views.py 프로젝트: litt1e/comm_bot
def post(call=None, post=None):
    if post:
        chat_id = call.chat.id
    elif not post:
        call = call
        chat_id = call.message.chat.id
        post = models.Thread.objects.get(
            id=call.data.split()[2])  ############################

    text = post.title + "\n\n" + post.text
    url = 'https://%s/users/%s/threads/%s/' % ("shlyapikbot.herokuapp.com",
                                               post.user.login, post.id)
    keys = types.InlineKeyboardMarkup()
    keys.add(types.InlineKeyboardButton(text='Открыть комментарии', url=url))
    bot.send_message(chat_id, text, reply_markup=keys)
    bot_action.set_position(user_id=chat_id, position='nothing')
    msg = bot.send_message(chat_id, 'Открыть меню')
    keys = types.InlineKeyboardMarkup()
    keys.add(
        types.InlineKeyboardButton(text='Открыть меню',
                                   callback_data='menu ' +
                                   str(msg.message_id)))
    bot.edit_message_text(text='🛋',
                          reply_markup=keys,
                          chat_id=chat_id,
                          message_id=msg.message_id)
예제 #2
0
파일: views.py 프로젝트: litt1e/comm_bot
def get_user(message):
    try:
        user = models.User.objects.get(id=message.chat.id)
    except models.User.DoesNotExist:
        user = bot_action.create_user(
            name=message.chat.first_name,
            login=message.chat.username if message.chat.username else 'None',
            user_id=message.chat.id)
        msg = bot.send_message(message.chat.id,
                               "Введите описание своего канала")
        bot_action.set_position(user_id=message.chat.id,
                                position='get_description ' +
                                str(msg.message_id))
        keys = types.InlineKeyboardMarkup()
        keys.add(
            types.InlineKeyboardButton(text='Мне не нужно описание',
                                       callback_data='no_description ' +
                                       str(msg.message_id)))
        bot.edit_message_text(message_id=msg.message_id,
                              chat_id=message.chat.id,
                              text="Введите описание своего канала",
                              reply_markup=keys)
        return user
    else:
        return user
예제 #3
0
파일: views.py 프로젝트: litt1e/comm_bot
def no_description(call):
    bot_action.set_position(user_id=call.message.chat.id, position='nothing')
    a_u = about_user(call.message)
    info_about = "Имя: %s\nСсылка: %s\nДата начала постинга: %s\nОписание: %s" % (
        a_u['name'], a_u['shortname'], a_u['date'], a_u['desc'])
    bot.send_message(call.message.chat.id,
                     'ок, без описания\n\n' + info_about)  # и тут тоже)
예제 #4
0
파일: views.py 프로젝트: litt1e/comm_bot
def get_name(message):
    if len(message.text) > 40:
        bot.send_message(message.chat.id,
                         'Имя должно быть не более 40 символов')
    else:
        user = get_user(message)
        user.name = message.text
        user.save()
        bot_action.set_position(message.chat.id, 'nothing')
        bot.send_message(message.chat.id, 'вы сменили имя')
        about_me(message)
예제 #5
0
파일: views.py 프로젝트: litt1e/comm_bot
def get_title(message):
    print("получаем тайтл")
    message_id = bot_action.get_position(message.chat.id).split()[1]
    bot.delete_message(message.chat.id, message_id)
    post = bot_action.create_post(user_id=message.chat.id,
                                  title=message.text,
                                  text='Пост ещё не создан')
    msg = bot.send_message(message.chat.id, 'Теперь вводите текст')
    bot_action.set_position(user_id=message.chat.id,
                            position='get_text ' + str(msg.message_id) + ' ' +
                            str(post.id))
예제 #6
0
파일: views.py 프로젝트: litt1e/comm_bot
def change_description(call):
    bot_action.set_position(call.message.chat.id, 'get_description')
    msg = bot.send_message(call.message.chat.id, 'Вводите новое описание')
    keys = types.InlineKeyboardMarkup()
    keys.add(
        types.InlineKeyboardButton(text='ненадо я передумал!!!',
                                   callback_data='i_do_not_want ' +
                                   str(msg.message_id)))
    bot.edit_message_text('Вводите новое описание',
                          call.message.chat.id,
                          msg.message_id,
                          reply_markup=keys)
예제 #7
0
파일: views.py 프로젝트: litt1e/comm_bot
def get_url(message):
    if len(message.text) > 40:
        bot.send_message(message.chat.id,
                         'Ссылка должна быть не более чем 40 символов!!1')
    else:
        if bot_action.is_there_login(message.text):
            bot.send_message(message.chat.id, 'Этот юзернейм уже используется')
            change_url(message)
        else:
            user = get_user(message)
            user.login = message.text
            bot_action.set_position(message.chat.id, 'nothing')
            user.save()
            bot.send_message(message.chat.id, 'ссылку успЕШно заменеНА')
            about_me(message)
예제 #8
0
파일: views.py 프로젝트: litt1e/comm_bot
def change_url(call):
    try:
        message = call.message
    except AttributeError:
        message = call
    bot_action.set_position(message.chat.id, 'get_url')
    msg = bot.send_message(message.chat.id, 'Введите новый юзернейм')
    keys = types.InlineKeyboardMarkup()
    keys.add(
        types.InlineKeyboardButton(text='ненадо я передумал!!!',
                                   callback_data='i_do_not_want ' +
                                   str(msg.message_id)))
    bot.edit_message_text(
        'Введите новый юзернейм\n'
        'Юзернейм может содержать только английские буквы, цифры и _',
        message.chat.id,
        msg.message_id,
        reply_markup=keys)
예제 #9
0
파일: views.py 프로젝트: litt1e/comm_bot
def new_post(message=None, call=None):
    print("создаем новый пост что ")
    if message:
        message = message
    elif call:
        message = call.message
    msg = bot.send_message(
        chat_id=message.chat.id,
        text='Введите заголовок.',
    )
    bot_action.set_position(user_id=message.chat.id,
                            position='get_title ' + str(msg.message_id))
    keys = types.InlineKeyboardMarkup()
    keys.add(
        types.InlineKeyboardButton(text='Мне не нужен заголовок',
                                   callback_data='no_title ' +
                                   str(msg.message_id)))
    bot.edit_message_text(text='Введите заголовок',
                          chat_id=message.chat.id,
                          message_id=msg.message_id,
                          reply_markup=keys)
예제 #10
0
파일: views.py 프로젝트: litt1e/comm_bot
def get_description(message):
    user = get_user(message)
    user.description = message.text
    user.save()
    if message.chat.username == None:
        change_url(message)
    else:
        bot_action.set_position(user_id=message.chat.id, position='nothing')
        a_u = about_user(message)
        info_about = "Имя: %s\nСсылка: %s\nДата начала постинга: %s\nОписание: %s\nПостов запощено: %s" % (
            a_u['name'], a_u['shortname'], a_u['date'], a_u['desc'],
            a_u['count'])
        msg = bot.send_message(message.chat.id, info_about)
        keys = types.InlineKeyboardMarkup()
        keys.add(
            types.InlineKeyboardButton(text='Открыть меню',
                                       callback_data='menu ' +
                                       str(msg.message_id)))
        bot.edit_message_text(info_about,
                              message.chat.id,
                              msg.message_id,
                              reply_markup=keys)
예제 #11
0
파일: views.py 프로젝트: litt1e/comm_bot
def i_do_not_want(call):
    bot.send_message(call.message.chat.id, 'ок, вы передумали')
    menu(call.message)
    bot_action.set_position(call.message.chat.id, 'nothing')
예제 #12
0
파일: views.py 프로젝트: litt1e/comm_bot
def delete_post(call):
    post = models.Thread.objects.get(id=call.data.split()[2])
    post.delete()
    bot.send_message(call.message.chat.id, 'Пост удалён')
    bot_action.set_position(user_id=call.message.chat.id, position='nothing')
    menu(call.message)
예제 #13
0
파일: views.py 프로젝트: litt1e/comm_bot
def no(call):
    bot.send_message(call.message.chat.id, 'Ок, не удаляем посты')
    bot_action.set_position(user_id=call.message.chat.id, position='nothing')
    menu(call.message)
예제 #14
0
파일: views.py 프로젝트: litt1e/comm_bot
def start(message):
    user = get_user(message)
    if user[1] is not 'created':
        bot_action.set_position(user_id=message.chat.id, position='nothing')