Separated supervior, fix for /dialogs command
This commit is contained in:
parent
7bbf18375d
commit
ff27f0b2d7
34
bot.py
34
bot.py
@ -1,18 +1,18 @@
|
|||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import redis
|
|
||||||
import requests
|
import requests
|
||||||
import telebot
|
import telebot
|
||||||
import threading
|
import threading
|
||||||
|
import time
|
||||||
import traceback
|
import traceback
|
||||||
import ujson
|
import ujson
|
||||||
import vk
|
|
||||||
import wget
|
|
||||||
import time
|
|
||||||
from PIL import Image
|
|
||||||
from telebot import types
|
from telebot import types
|
||||||
|
|
||||||
|
import redis
|
||||||
|
import vk
|
||||||
|
import wget
|
||||||
|
from PIL import Image
|
||||||
from credentials import token, vk_app_id
|
from credentials import token, vk_app_id
|
||||||
from vk_messages import VkMessage, VkPolling
|
from vk_messages import VkMessage, VkPolling
|
||||||
|
|
||||||
@ -84,8 +84,16 @@ def request_user_dialogs(session, userid):
|
|||||||
for g in group_ids:
|
for g in group_ids:
|
||||||
positive_group_ids.append(str(g)[1:])
|
positive_group_ids.append(str(g)[1:])
|
||||||
|
|
||||||
|
if users_ids:
|
||||||
users = vk.API(session).users.get(user_ids=users_ids, fields=['first_name', 'last_name', 'uid'])
|
users = vk.API(session).users.get(user_ids=users_ids, fields=['first_name', 'last_name', 'uid'])
|
||||||
|
else:
|
||||||
|
users = []
|
||||||
|
|
||||||
|
if positive_group_ids:
|
||||||
groups = vk.API(session).groups.getById(group_ids=positive_group_ids, fields=[])
|
groups = vk.API(session).groups.getById(group_ids=positive_group_ids, fields=[])
|
||||||
|
else:
|
||||||
|
groups = []
|
||||||
|
|
||||||
for output in order:
|
for output in order:
|
||||||
if output['title'] == ' ... ' or not output['title']:
|
if output['title'] == ' ... ' or not output['title']:
|
||||||
if output['id'] > 0:
|
if output['id'] > 0:
|
||||||
@ -204,12 +212,10 @@ def check_thread(uid):
|
|||||||
|
|
||||||
|
|
||||||
# Creating VkPolling threads and dialogs info after bot's reboot/exception using existing tokens
|
# Creating VkPolling threads and dialogs info after bot's reboot/exception using existing tokens
|
||||||
def thread_supervisor():
|
def thread_reviver(uid):
|
||||||
while True:
|
|
||||||
for uid in vk_tokens.scan_iter():
|
|
||||||
tries = 0
|
tries = 0
|
||||||
while check_thread(uid.decode("utf-8")):
|
while check_thread(uid.decode("utf-8")):
|
||||||
if tries < 3:
|
if tries < 4:
|
||||||
try:
|
try:
|
||||||
create_thread(uid.decode("utf-8"), vk_tokens.get(uid))
|
create_thread(uid.decode("utf-8"), vk_tokens.get(uid))
|
||||||
except:
|
except:
|
||||||
@ -222,6 +228,15 @@ def thread_supervisor():
|
|||||||
bot.send_message(uid.decode("utf-8"), '<b>Непредвиденная ошибка, требуется повторный логин ВК!</b>',
|
bot.send_message(uid.decode("utf-8"), '<b>Непредвиденная ошибка, требуется повторный логин ВК!</b>',
|
||||||
parse_mode='HTML', reply_markup=mark).wait()
|
parse_mode='HTML', reply_markup=mark).wait()
|
||||||
break
|
break
|
||||||
|
|
||||||
|
|
||||||
|
def thread_supervisor():
|
||||||
|
while True:
|
||||||
|
for uid in vk_tokens.scan_iter():
|
||||||
|
reviver_thread = threading.Thread(name='reviver' + str(uid.decode('utf-8')), target=thread_reviver,
|
||||||
|
args=(uid,))
|
||||||
|
reviver_thread.setDaemon(True)
|
||||||
|
reviver_thread.start()
|
||||||
time.sleep(60)
|
time.sleep(60)
|
||||||
|
|
||||||
|
|
||||||
@ -671,6 +686,7 @@ def reply_text(message):
|
|||||||
bot.reply_to(message, 'Произошла неизвестная ошибка при отправке',
|
bot.reply_to(message, 'Произошла неизвестная ошибка при отправке',
|
||||||
parse_mode='Markdown').wait()
|
parse_mode='Markdown').wait()
|
||||||
|
|
||||||
|
|
||||||
bot.polling(none_stop=True)
|
bot.polling(none_stop=True)
|
||||||
"""class WebhookServer(object):
|
"""class WebhookServer(object):
|
||||||
# index равнозначно /, т.к. отсутствию части после ip-адреса (грубо говоря)
|
# index равнозначно /, т.к. отсутствию части после ip-адреса (грубо говоря)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user