(
self, token: str, parse_mode: Optional[str]=None, threaded: Optional[bool]=True,
skip_pending: Optional[bool]=False, num_threads: Optional[int]=2,
next_step_backend: Optional[HandlerBackend]=None, reply_backend: Optional[HandlerBackend]=None,
exception_handler: Optional[ExceptionHandler]=None, last_update_id: Optional[int]=0,
suppress_middleware_excepions: Optional[bool]=False, state_storage: Optional[StateStorageBase]=StateMemoryStorage(),
use_class_middlewares: Optional[bool]=False,
disable_web_page_preview: Optional[bool]=None,
disable_notification: Optional[bool]=None,
protect_content: Optional[bool]=None,
allow_sending_without_reply: Optional[bool]=None,
colorful_logs: Optional[bool]=False,
validate_token: Optional[bool]=True
)
| 163 | """ |
| 164 | |
| 165 | def __init__( |
| 166 | self, token: str, parse_mode: Optional[str]=None, threaded: Optional[bool]=True, |
| 167 | skip_pending: Optional[bool]=False, num_threads: Optional[int]=2, |
| 168 | next_step_backend: Optional[HandlerBackend]=None, reply_backend: Optional[HandlerBackend]=None, |
| 169 | exception_handler: Optional[ExceptionHandler]=None, last_update_id: Optional[int]=0, |
| 170 | suppress_middleware_excepions: Optional[bool]=False, state_storage: Optional[StateStorageBase]=StateMemoryStorage(), |
| 171 | use_class_middlewares: Optional[bool]=False, |
| 172 | disable_web_page_preview: Optional[bool]=None, |
| 173 | disable_notification: Optional[bool]=None, |
| 174 | protect_content: Optional[bool]=None, |
| 175 | allow_sending_without_reply: Optional[bool]=None, |
| 176 | colorful_logs: Optional[bool]=False, |
| 177 | validate_token: Optional[bool]=True |
| 178 | ): |
| 179 | |
| 180 | # update-related |
| 181 | self.token = token |
| 182 | self.skip_pending = skip_pending # backward compatibility |
| 183 | self.last_update_id = last_update_id |
| 184 | |
| 185 | # properties |
| 186 | self.suppress_middleware_excepions = suppress_middleware_excepions |
| 187 | self.parse_mode = parse_mode |
| 188 | self.disable_web_page_preview = disable_web_page_preview |
| 189 | self.disable_notification = disable_notification |
| 190 | self.protect_content = protect_content |
| 191 | self.allow_sending_without_reply = allow_sending_without_reply |
| 192 | self.webhook_listener = None |
| 193 | self._user = None |
| 194 | |
| 195 | if validate_token: |
| 196 | util.validate_token(self.token) |
| 197 | |
| 198 | self.bot_id: Union[int, None] = util.extract_bot_id(self.token) # subject to change in future, unspecified |
| 199 | |
| 200 | # logs-related |
| 201 | if colorful_logs: |
| 202 | try: |
| 203 | # noinspection PyPackageRequirements |
| 204 | import coloredlogs |
| 205 | coloredlogs.install(logger=logger, level=logger.level) |
| 206 | except ImportError: |
| 207 | raise ImportError( |
| 208 | 'Install coloredlogs module to use colorful_logs option.' |
| 209 | ) |
| 210 | |
| 211 | # threading-related |
| 212 | self.__stop_polling = threading.Event() |
| 213 | self.exc_info = None |
| 214 | |
| 215 | # states & register_next_step_handler |
| 216 | self.current_states = state_storage |
| 217 | self.next_step_backend = next_step_backend |
| 218 | if not self.next_step_backend: |
| 219 | self.next_step_backend = MemoryHandlerBackend() |
| 220 | |
| 221 | self.reply_backend = reply_backend |
| 222 | if not self.reply_backend: |
nothing calls this directly
no test coverage detected