mirror of
https://github.com/eternnoir/pyTelegramBotAPI.git
synced 2023-08-10 21:12:57 +03:00
Compare commits
No commits in common. "661218c7e3483bdf440d98e4e5459528e3bc2cd5" and "9fa79aabc062000640894ac296e6ab3c68b2866b" have entirely different histories.
661218c7e3
...
9fa79aabc0
|
@ -214,7 +214,7 @@ class TeleBot:
|
|||
|
||||
self.threaded = threaded
|
||||
if self.threaded:
|
||||
self.worker_pool = util.ThreadPool(self, num_threads=num_threads)
|
||||
self.worker_pool = util.ThreadPool(num_threads=num_threads)
|
||||
|
||||
@property
|
||||
def user(self) -> types.User:
|
||||
|
@ -781,15 +781,7 @@ class TeleBot:
|
|||
if self.threaded:
|
||||
self.worker_pool.put(task, *args, **kwargs)
|
||||
else:
|
||||
try:
|
||||
task(*args, **kwargs)
|
||||
except Exception as e:
|
||||
if self.exception_handler is not None:
|
||||
handled = self.exception_handler.handle(e)
|
||||
else:
|
||||
handled = False
|
||||
if not handled:
|
||||
raise e
|
||||
task(*args, **kwargs)
|
||||
|
||||
def stop_polling(self):
|
||||
self.__stop_polling.set()
|
||||
|
|
|
@ -160,13 +160,6 @@ class StateFilter(AdvancedCustomFilter):
|
|||
|
||||
async def check(self, message, text):
|
||||
if text == '*': return True
|
||||
|
||||
if isinstance(text, list):
|
||||
new_text = [i.name for i in text]
|
||||
text = new_text
|
||||
elif isinstance(text, object):
|
||||
text = text.name
|
||||
|
||||
if message.chat.type == 'group':
|
||||
group_state = await self.bot.current_states.get_state(message.chat.id, message.from_user.id)
|
||||
if group_state == text:
|
||||
|
|
|
@ -8,8 +8,6 @@ class StateMemoryStorage(StateStorageBase):
|
|||
|
||||
|
||||
async def set_state(self, chat_id, user_id, state):
|
||||
if isinstance(state, object):
|
||||
state = state.name
|
||||
if chat_id in self.data:
|
||||
if user_id in self.data[chat_id]:
|
||||
self.data[chat_id][user_id]['state'] = state
|
||||
|
|
|
@ -47,8 +47,6 @@ class StatePickleStorage(StateStorageBase):
|
|||
file.close()
|
||||
|
||||
async def set_state(self, chat_id, user_id, state):
|
||||
if isinstance(state, object):
|
||||
state = state.name
|
||||
if chat_id in self.data:
|
||||
if user_id in self.data[chat_id]:
|
||||
self.data[chat_id][user_id]['state'] = state
|
||||
|
|
|
@ -65,8 +65,6 @@ class StateRedisStorage(StateStorageBase):
|
|||
"""
|
||||
response = await self.get_record(chat_id)
|
||||
user_id = str(user_id)
|
||||
if isinstance(state, object):
|
||||
state = state.name
|
||||
if response:
|
||||
if user_id in response:
|
||||
response[user_id]['state'] = state
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
from abc import ABC
|
||||
|
||||
class SimpleCustomFilter(ABC):
|
||||
"""
|
||||
Simple Custom Filter base class.
|
||||
|
@ -158,12 +159,6 @@ class StateFilter(AdvancedCustomFilter):
|
|||
|
||||
def check(self, message, text):
|
||||
if text == '*': return True
|
||||
|
||||
if isinstance(text, list):
|
||||
new_text = [i.name for i in text]
|
||||
text = new_text
|
||||
elif isinstance(text, object):
|
||||
text = text.name
|
||||
if message.chat.type == 'group':
|
||||
group_state = self.bot.current_states.get_state(message.chat.id, message.from_user.id)
|
||||
if group_state == text:
|
||||
|
|
|
@ -154,7 +154,6 @@ class State:
|
|||
self.name = None
|
||||
def __str__(self) -> str:
|
||||
return self.name
|
||||
|
||||
|
||||
|
||||
class StatesGroup:
|
||||
|
|
|
@ -8,8 +8,6 @@ class StateMemoryStorage(StateStorageBase):
|
|||
|
||||
|
||||
def set_state(self, chat_id, user_id, state):
|
||||
if isinstance(state, object):
|
||||
state = state.name
|
||||
if chat_id in self.data:
|
||||
if user_id in self.data[chat_id]:
|
||||
self.data[chat_id][user_id]['state'] = state
|
||||
|
@ -33,7 +31,6 @@ class StateMemoryStorage(StateStorageBase):
|
|||
|
||||
|
||||
def get_state(self, chat_id, user_id):
|
||||
|
||||
if self.data.get(chat_id):
|
||||
if self.data[chat_id].get(user_id):
|
||||
return self.data[chat_id][user_id]['state']
|
||||
|
|
|
@ -53,8 +53,6 @@ class StatePickleStorage(StateStorageBase):
|
|||
file.close()
|
||||
|
||||
def set_state(self, chat_id, user_id, state):
|
||||
if isinstance(state, object):
|
||||
state = state.name
|
||||
if chat_id in self.data:
|
||||
if user_id in self.data[chat_id]:
|
||||
self.data[chat_id][user_id]['state'] = state
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
from pyclbr import Class
|
||||
from telebot.storage.base_storage import StateStorageBase, StateContext
|
||||
import json
|
||||
|
||||
|
@ -65,9 +64,6 @@ class StateRedisStorage(StateStorageBase):
|
|||
"""
|
||||
response = self.get_record(chat_id)
|
||||
user_id = str(user_id)
|
||||
if isinstance(state, object):
|
||||
state = state.name
|
||||
|
||||
if response:
|
||||
if user_id in response:
|
||||
response[user_id]['state'] = state
|
||||
|
|
|
@ -114,8 +114,7 @@ class WorkerThread(threading.Thread):
|
|||
|
||||
class ThreadPool:
|
||||
|
||||
def __init__(self, telebot, num_threads=2):
|
||||
self.telebot = telebot
|
||||
def __init__(self, num_threads=2):
|
||||
self.tasks = Queue.Queue()
|
||||
self.workers = [WorkerThread(self.on_exception, self.tasks) for _ in range(num_threads)]
|
||||
self.num_threads = num_threads
|
||||
|
@ -127,13 +126,8 @@ class ThreadPool:
|
|||
self.tasks.put((func, args, kwargs))
|
||||
|
||||
def on_exception(self, worker_thread, exc_info):
|
||||
if self.telebot.exception_handler is not None:
|
||||
handled = self.telebot.exception_handler.handle(exc_info)
|
||||
else:
|
||||
handled = False
|
||||
if not handled:
|
||||
self.exception_info = exc_info
|
||||
self.exception_event.set()
|
||||
self.exception_info = exc_info
|
||||
self.exception_event.set()
|
||||
worker_thread.continue_event.set()
|
||||
|
||||
def raise_exceptions(self):
|
||||
|
|
Loading…
Reference in New Issue
Block a user