More accurate login check

This commit is contained in:
Kylmakalle 2017-07-02 18:39:23 +03:00
parent bc95507d8c
commit 12c7268c6f

75
bot.py
View File

@ -223,56 +223,61 @@ def info_extractor(info):
@bot.message_handler(commands=['chat']) @bot.message_handler(commands=['chat'])
def chat_command(message): def chat_command(message):
if str(message.from_user.id) in currentchat: if logged(message):
if 'group' in currentchat[str(message.from_user.id)]: if str(message.from_user.id) in currentchat:
session = VkMessage(vk_tokens.get(str(message.from_user.id))).session if 'group' in currentchat[str(message.from_user.id)]:
chat = vk.API(session).messages.getChat(chat_id=currentchat[str(message.from_user.id)].split('group')[1], session = VkMessage(vk_tokens.get(str(message.from_user.id))).session
fields=[]) chat = vk.API(session).messages.getChat(
if chat['title'].replace('\\', ''): chat_id=currentchat[str(message.from_user.id)].split('group')[1],
chat['title'] = chat['title'].replace('\\', '') fields=[])
bot.send_message(message.from_user.id, if chat['title'].replace('\\', ''):
'<i>Вы в беседе {}</i>'.format(chat['title']), chat['title'] = chat['title'].replace('\\', '')
parse_mode='HTML').wait() bot.send_message(message.from_user.id,
'<i>Вы в беседе {}</i>'.format(chat['title']),
parse_mode='HTML').wait()
else:
session = VkMessage(vk_tokens.get(str(message.from_user.id))).session
user = vk.API(session).users.get(user_ids=currentchat[str(message.from_user.id)], fields=[])[0]
bot.send_message(message.from_user.id,
'<i>Вы в чате с {} {}</i>'.format(user['first_name'], user['last_name']),
parse_mode='HTML').wait()
else: else:
session = VkMessage(vk_tokens.get(str(message.from_user.id))).session
user = vk.API(session).users.get(user_ids=currentchat[str(message.from_user.id)], fields=[])[0]
bot.send_message(message.from_user.id, bot.send_message(message.from_user.id,
'<i>Вы в чате с {} {}</i>'.format(user['first_name'], user['last_name']), '<i>Вы не находитесь в чате</i>',
parse_mode='HTML').wait() parse_mode='HTML').wait()
else:
bot.send_message(message.from_user.id,
'<i>Вы не находитесь в чате</i>',
parse_mode='HTML').wait()
@bot.message_handler(commands=['leave']) @bot.message_handler(commands=['leave'])
def leave_command(message): def leave_command(message):
if str(message.from_user.id) in currentchat: if logged(message):
currentchat.pop(str(message.from_user.id), None) if str(message.from_user.id) in currentchat:
bot.send_message(message.from_user.id, currentchat.pop(str(message.from_user.id), None)
'<i>Вы вышли из чата</i>', bot.send_message(message.from_user.id,
parse_mode='HTML').wait() '<i>Вы вышли из чата</i>',
else: parse_mode='HTML').wait()
bot.send_message(message.from_user.id, else:
'<i>Вы не находитесь в чате</i>', bot.send_message(message.from_user.id,
parse_mode='HTML').wait() '<i>Вы не находитесь в чате</i>',
parse_mode='HTML').wait()
@bot.message_handler(commands=['dialogs']) @bot.message_handler(commands=['dialogs'])
def dialogs_command(message): def dialogs_command(message):
session = VkMessage(vk_tokens.get(str(message.from_user.id))).session if logged(message):
request_user_dialogs(session, message.from_user.id) session = VkMessage(vk_tokens.get(str(message.from_user.id))).session
create_markup(message, message.from_user.id, 0) request_user_dialogs(session, message.from_user.id)
create_markup(message, message.from_user.id, 0)
@bot.message_handler(commands=['search']) @bot.message_handler(commands=['search'])
def search_command(message): def search_command(message):
markup = types.ForceReply(selective=False) if logged(message):
if telebot.util.extract_arguments(message.text): markup = types.ForceReply(selective=False)
search_users(message, telebot.util.extract_arguments(message.text)) if telebot.util.extract_arguments(message.text):
else: search_users(message, telebot.util.extract_arguments(message.text))
bot.send_message(message.from_user.id, '<b>Поиск беседы</b> 🔍', else:
parse_mode='HTML', reply_markup=markup).wait() bot.send_message(message.from_user.id, '<b>Поиск беседы</b> 🔍',
parse_mode='HTML', reply_markup=markup).wait()
@bot.message_handler(commands=['stop']) @bot.message_handler(commands=['stop'])