Trying to find how and where Telegram spam happens
This commit is contained in:
parent
7533608316
commit
17c73c79a7
@ -508,8 +508,6 @@ class Citizen(classes.CitizenAPI):
|
|||||||
"""
|
"""
|
||||||
Try to eat food
|
Try to eat food
|
||||||
"""
|
"""
|
||||||
self.update_citizen_info()
|
|
||||||
self.update_inventory()
|
|
||||||
if self.food["total"] > self.energy.interval:
|
if self.food["total"] > self.energy.interval:
|
||||||
if self.energy.limit - self.energy.recovered > self.energy.interval or not self.energy.recoverable % 2:
|
if self.energy.limit - self.energy.recovered > self.energy.interval or not self.energy.recoverable % 2:
|
||||||
self._eat("blue")
|
self._eat("blue")
|
||||||
@ -518,7 +516,6 @@ class Citizen(classes.CitizenAPI):
|
|||||||
else:
|
else:
|
||||||
self.write_log("I'm out of food! But I'll try to buy some!\n{}".format(self.food))
|
self.write_log("I'm out of food! But I'll try to buy some!\n{}".format(self.food))
|
||||||
self.buy_food()
|
self.buy_food()
|
||||||
self.update_inventory()
|
|
||||||
if self.food["total"] > self.energy.interval:
|
if self.food["total"] > self.energy.interval:
|
||||||
self.eat()
|
self.eat()
|
||||||
else:
|
else:
|
||||||
@ -1235,8 +1232,7 @@ class Citizen(classes.CitizenAPI):
|
|||||||
ret = items
|
ret = items
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
def buy_food(self) -> None:
|
def buy_food(self):
|
||||||
self.update_money()
|
|
||||||
hp_per_quality = {"q1": 2, "q2": 4, "q3": 6, "q4": 8, "q5": 10, "q6": 12, "q7": 20}
|
hp_per_quality = {"q1": 2, "q2": 4, "q3": 6, "q4": 8, "q5": 10, "q6": 12, "q7": 20}
|
||||||
hp_needed = 48 * self.energy.interval * 10 - self.food["total"]
|
hp_needed = 48 * self.energy.interval * 10 - self.food["total"]
|
||||||
local_offers = self.get_market_offers(country_id=self.details.current_country, product="food")
|
local_offers = self.get_market_offers(country_id=self.details.current_country, product="food")
|
||||||
@ -1552,7 +1548,6 @@ class Citizen(classes.CitizenAPI):
|
|||||||
def get_raw_surplus(self) -> (float, float):
|
def get_raw_surplus(self) -> (float, float):
|
||||||
frm = 0.00
|
frm = 0.00
|
||||||
wrm = 0.00
|
wrm = 0.00
|
||||||
self.update_companies()
|
|
||||||
for cdata in sorted(self.my_companies.companies.values()):
|
for cdata in sorted(self.my_companies.companies.values()):
|
||||||
if cdata["industry_token"] == "FOOD":
|
if cdata["industry_token"] == "FOOD":
|
||||||
raw = frm
|
raw = frm
|
||||||
|
@ -2,7 +2,9 @@ import datetime
|
|||||||
import decimal
|
import decimal
|
||||||
import hashlib
|
import hashlib
|
||||||
import random
|
import random
|
||||||
|
import sys
|
||||||
import time
|
import time
|
||||||
|
import traceback
|
||||||
from collections import deque
|
from collections import deque
|
||||||
from json import JSONDecodeError, loads, JSONEncoder
|
from json import JSONDecodeError, loads, JSONEncoder
|
||||||
from typing import Any, Dict, List, Union, Mapping, Iterable, Tuple
|
from typing import Any, Dict, List, Union, Mapping, Iterable, Tuple
|
||||||
@ -1152,12 +1154,14 @@ class TelegramBot:
|
|||||||
chat_id = 0
|
chat_id = 0
|
||||||
api_url = ""
|
api_url = ""
|
||||||
player_name = ""
|
player_name = ""
|
||||||
|
__last_time: datetime.datetime = None
|
||||||
|
|
||||||
def do_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
|
self.__initialized = True
|
||||||
|
self.__last_time = utils.good_timedelta(utils.now(), datetime.timedelta(minutes=-5))
|
||||||
if self.__queue:
|
if self.__queue:
|
||||||
self.send_message("\n\n––––––––––––––––––––––\n\n".join(self.__queue))
|
self.send_message("\n\n––––––––––––––––––––––\n\n".join(self.__queue))
|
||||||
|
|
||||||
@ -1167,7 +1171,11 @@ class TelegramBot:
|
|||||||
return True
|
return True
|
||||||
if self.player_name:
|
if self.player_name:
|
||||||
message = f"Player *{self.player_name}*\n" + message
|
message = f"Player *{self.player_name}*\n" + message
|
||||||
|
if utils.good_timedelta(utils.now(), datetime.timedelta(seconds=-1)) <= self.__last_time:
|
||||||
|
tb = traceback.extract_stack()
|
||||||
|
message += "\n\n```\n{}\n```".format("\n".join([str(l) for l in tb]))
|
||||||
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"))
|
||||||
|
self.__last_time = utils.now()
|
||||||
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]]):
|
||||||
@ -1187,10 +1195,7 @@ class TelegramBot:
|
|||||||
self.send_message("Free BHs:\n" + "\n".join(battle_links))
|
self.send_message("Free BHs:\n" + "\n".join(battle_links))
|
||||||
|
|
||||||
def report_full_energy(self, available: int, limit: int, interval: int):
|
def report_full_energy(self, available: int, limit: int, interval: int):
|
||||||
message = ""
|
message = f"Full energy ({available}hp/{limit}hp +{interval}hp/6min)"
|
||||||
if self.player_name:
|
|
||||||
message = f"Player *{self.player_name}*\n"
|
|
||||||
message += f"Full energy ({available}hp/{limit}hp +{interval}hp/6min)"
|
|
||||||
self.send_message(message)
|
self.send_message(message)
|
||||||
|
|
||||||
def report_medal(self, msg):
|
def report_medal(self, msg):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user