Private hidden Links fix, removed redundant checks

This commit is contained in:
Kylmakalle 2017-06-26 22:41:09 +03:00
parent 9d8d6cc3fd
commit aeb8232622
2 changed files with 118 additions and 49 deletions

101
bot.py
View File

@ -1,19 +1,20 @@
import telebot
from telebot import types
from vk_messages import VkMessage, VkPolling
import vk
import threading
import re
import logging import logging
import requests
import ujson
import wget
import os import os
from PIL import Image import re
import threading
import ujson
import cherrypy import cherrypy
import redis import redis
import requests
import telebot
import vk
import wget
from PIL import Image
from telebot import types
from credentials import token, vk_app_id, local_port from credentials import token, vk_app_id, local_port
from vk_messages import VkMessage, VkPolling
logging.basicConfig(format='%(levelname)-8s [%(asctime)s] %(message)s', level=logging.WARNING, filename='vk.log') logging.basicConfig(format='%(levelname)-8s [%(asctime)s] %(message)s', level=logging.WARNING, filename='vk.log')
@ -34,6 +35,75 @@ mark = types.InlineKeyboardMarkup()
yes = types.InlineKeyboardButton('ВХОД', url=link) yes = types.InlineKeyboardButton('ВХОД', url=link)
mark.add(yes) mark.add(yes)
"""def get_pages_switcher(offset, dialogs, markup):
if offset - 10 >= 0:
leftbutton = types.InlineKeyboardButton('', callback_data='page{}'.format(offset - 10)) # callback
else:
leftbutton = None
if dialogs[0] - (offset + 10) >= -10:
rightbutton = types.InlineKeyboardButton('', callback_data='page{}'.format(offset + 10))
else:
rightbutton = None
if leftbutton and rightbutton:
markup.row(leftbutton, rightbutton)
return
if leftbutton:
markup.row(leftbutton)
else:
markup.row(rightbutton)
def request_user_dialogs(session):
order = []
users_ids = []
dialogs = vk.API(session).messages.getDialogs(offset=offset, count=10)
for chat in dialogs[1:]:
if 'chat_id' in chat:
order.append({'title': chat['title'], 'id': chat['chat_id']})
elif chat['uid'] > 0:
order.append({'title': chat['title'], 'id': chat['uid']})
users_ids.append(chat['uid'])
users = vk.API(session).users.get(user_ids=users_ids, fields=[])
for output in order:
if output['title'] == ' ... ':
for x in users:
if x['uid'] == output['id']:
current_user = x
break
output['title'] = '{} {}'.format(current_user['first_name'], current_user['last_name'])
if not output['title']:
order.remove(output)
return order
def get_user_dialogs(message, order, edit=False):
markup = types.InlineKeyboardMarkup(row_width=2)
for button in range(len(order)):
order[button] = types.InlineKeyboardButton(order[button]['title'], callback_data=str(order[button]['id']))
rows = [order[x:x + 2] for x in range(0, len(order), 2)]
for row in rows:
try:
markup.row(row[0], row[1])
except:
markup.row(row[0])
get_pages_switcher(offset, dialogs, markup)
if edit:
print(bot.edit_message_reply_markup(message.chat.id, message.message_id, reply_markup=markup).wait())
else:
bot.send_message(message.chat.id, '<b>Выберите Диалог</b>',
parse_mode='HTML', reply_markup=markup).wait()
@bot.callback_query_handler(func=lambda call: True)
def callback_buttons(call):
if call.message:
if 'page' in call.data:
bot.answer_callback_query(call.id).wait()
print(call.data.split('page')[1])
get_user_dialogs(call.message, VkMessage(vk_tokens.get(str(call.from_user.id))).session,
int(call.data.split('page')[1]), True)"""
def create_thread(uid, vk_token): def create_thread(uid, vk_token):
a = VkPolling() a = VkPolling()
@ -85,6 +155,11 @@ def info_extractor(info):
return info return info
"""@bot.message_handler(commands=['dialogs'])
def dialogs_command(message):
get_user_dialogs(message, VkMessage(vk_tokens.get(str(message.from_user.id))).session, 0)"""
@bot.message_handler(commands=['stop']) @bot.message_handler(commands=['stop'])
def stop_command(message): def stop_command(message):
if not check_thread(message.from_user.id): if not check_thread(message.from_user.id):
@ -339,7 +414,6 @@ def send_contact(message, userid, group, forward_messages=None):
@bot.message_handler(content_types=['document', 'voice', 'audio']) @bot.message_handler(content_types=['document', 'voice', 'audio'])
def reply_document(message): def reply_document(message):
if message.reply_to_message:
try: try:
vk_sender(message, send_doc) vk_sender(message, send_doc)
except Exception as e: except Exception as e:
@ -350,7 +424,6 @@ def reply_document(message):
@bot.message_handler(content_types=['sticker']) @bot.message_handler(content_types=['sticker'])
def reply_sticker(message): def reply_sticker(message):
if message.reply_to_message:
try: try:
vk_sender(message, send_sticker) vk_sender(message, send_sticker)
except Exception as e: except Exception as e:
@ -361,7 +434,6 @@ def reply_sticker(message):
@bot.message_handler(content_types=['photo']) @bot.message_handler(content_types=['photo'])
def reply_photo(message): def reply_photo(message):
if message.reply_to_message:
try: try:
vk_sender(message, send_photo) vk_sender(message, send_photo)
except Exception as e: except Exception as e:
@ -372,7 +444,6 @@ def reply_photo(message):
@bot.message_handler(content_types=['video', 'video_note']) @bot.message_handler(content_types=['video', 'video_note'])
def reply_video(message): def reply_video(message):
if message.reply_to_message:
try: try:
vk_sender(message, send_video) vk_sender(message, send_video)
except Exception as e: except Exception as e:
@ -383,7 +454,6 @@ def reply_video(message):
@bot.message_handler(content_types=['contact']) @bot.message_handler(content_types=['contact'])
def reply_contact(message): def reply_contact(message):
if message.reply_to_message:
vk_sender(message, send_contact) vk_sender(message, send_contact)
@ -416,7 +486,6 @@ def reply_text(message):
bot.send_message(message.chat.id, 'Вход уже выполнен!\n/stop для выхода.').wait() bot.send_message(message.chat.id, 'Вход уже выполнен!\n/stop для выхода.').wait()
return return
if message.reply_to_message:
try: try:
vk_sender(message, send_text) vk_sender(message, send_text)
except Exception as e: except Exception as e:

View File

@ -237,7 +237,7 @@ def add_reply_info(m):
if 'chat_id' in m: if 'chat_id' in m:
return '<a href="x{}.{}.{}">&#8203;</a>'.format(m['uid'], m['chat_id'], check_forward_id(m)) return '<a href="x{}.{}.{}">&#8203;</a>'.format(m['uid'], m['chat_id'], check_forward_id(m))
else: else:
return '<a href="x{}.{}.0">&#8203;</a>'.format(m['uid'], check_forward_id(m)) return '<a href="x{}.{}.00">&#8203;</a>'.format(m['uid'], check_forward_id(m))
def add_user_info(m, first_name, last_name): def add_user_info(m, first_name, last_name):