Was trying to send messages before citizen has been initialized
This commit is contained in:
parent
1ee47dfdcf
commit
630c7cbc76
@ -63,17 +63,18 @@ class Citizen(classes.CitizenAPI):
|
|||||||
self.my_companies = classes.MyCompanies()
|
self.my_companies = classes.MyCompanies()
|
||||||
self.set_debug(True)
|
self.set_debug(True)
|
||||||
self.reporter = classes.Reporter()
|
self.reporter = classes.Reporter()
|
||||||
|
self.telegram = classes.TelegramBot()
|
||||||
self.stop_threads = threading.Event()
|
self.stop_threads = threading.Event()
|
||||||
if auto_login:
|
if auto_login:
|
||||||
self.login(telegram)
|
self.login()
|
||||||
|
if telegram is None:
|
||||||
|
self.telegram.do_init(620981703, "864251270:AAFzZZdjspI-kIgJVk4gF3TViGFoHnf8H4o", self.name)
|
||||||
|
else:
|
||||||
|
self.telegram.do_init(telegram['chat_id'], telegram['token'])
|
||||||
|
|
||||||
def login(self, telegram: Dict[str, Union[str, int]] = None):
|
def login(self, telegram: Dict[str, Union[str, int]] = None):
|
||||||
self.get_csrf_token()
|
self.get_csrf_token()
|
||||||
|
|
||||||
if telegram is None:
|
|
||||||
self.telegram = classes.TelegramBot(620981703, "864251270:AAFzZZdjspI-kIgJVk4gF3TViGFoHnf8H4o", self.name)
|
|
||||||
else:
|
|
||||||
self.telegram = classes.TelegramBot(telegram['chat_id'], telegram['token'])
|
|
||||||
self.telegram.send_message("*Started* {:%F %T}".format(utils.now()))
|
self.telegram.send_message("*Started* {:%F %T}".format(utils.now()))
|
||||||
self.update_citizen_info()
|
self.update_citizen_info()
|
||||||
self.reporter.do_init(self.name, self.config.email, self.details.citizen_id)
|
self.reporter.do_init(self.name, self.config.email, self.details.citizen_id)
|
||||||
|
@ -1144,18 +1144,27 @@ class EnergyToFight:
|
|||||||
|
|
||||||
|
|
||||||
class TelegramBot:
|
class TelegramBot:
|
||||||
|
__initialized = False
|
||||||
|
__queue: List[str] = []
|
||||||
chat_id = 0
|
chat_id = 0
|
||||||
api_url = ""
|
api_url = ""
|
||||||
|
player_name = ""
|
||||||
|
|
||||||
def __init__(self, chat_id: int, token: str, player_name: str = ""):
|
def do_init(self, chat_id: int, token: str, player_name: str = ""):
|
||||||
self.chat_id = chat_id
|
self.chat_id = chat_id
|
||||||
self.api_url = "https://api.telegram.org/bot{}/sendMessage".format(token)
|
self.api_url = "https://api.telegram.org/bot{}/sendMessage".format(token)
|
||||||
self.player_name = player_name
|
self.player_name = player_name
|
||||||
|
self.__initialized = True
|
||||||
|
if self.__queue:
|
||||||
|
self.send_message("\n\n––––––––––––––––––––––\n\n".join(self.__queue))
|
||||||
|
|
||||||
def send_message(self, message: str) -> bool:
|
def send_message(self, message: str) -> bool:
|
||||||
if self.player_name:
|
if self.player_name:
|
||||||
message = f"Player *{self.player_name}*\n" + message
|
message = f"Player *{self.player_name}*\n" + message
|
||||||
response = post(self.api_url, json=dict(chat_id=self.chat_id, text=message, parse_mode="Markdown"))
|
response = post(self.api_url, json=dict(chat_id=self.chat_id, text=message, parse_mode="Markdown"))
|
||||||
|
if not self.__initialized:
|
||||||
|
self.__queue.append(message)
|
||||||
|
return True
|
||||||
return response.json().get('ok')
|
return response.json().get('ok')
|
||||||
|
|
||||||
def report_free_bhs(self, battles: List[Tuple[int, int, int, int, datetime.timedelta]]):
|
def report_free_bhs(self, battles: List[Tuple[int, int, int, int, datetime.timedelta]]):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user