Skip to content

Commit

Permalink
add support of configurable peremeter SLIENT
Browse files Browse the repository at this point in the history
  • Loading branch information
yurnov committed Mar 27, 2024
1 parent adab53e commit 3f674c8
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 2 deletions.
2 changes: 2 additions & 0 deletions .env.exmple
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
TOKEN=<TOKEN>
CHAT_ID=<CHAT_ID>
# Disable notifications, optional, default False
# SLIENT=False
# URL of API with compatiable format with http://alerts.net.ua/explosives_statuses_v2.json, optional
# URL=http://alerts.net.ua/explosives_statuses_v2.json
# Timezone, optional, default Europe/Kiev
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
## Налаштування
Просто надай `BOT_TOKEN` та `CHAT_ID` у файлі `.env`, можеш використовувати `.env.example` як приклад. Додатково можна обрати, щодо яких регіонів бот буде відправляти повідомлення, для цього використовуй змінну `REGION_LIST`, приклад і список регіонів, що підтримуються можеш знайти у `.env.example`.

Додатково можна налаштувати часовий пояс (за змовчуванням використовується `Europe/Kyiv` і для нього нічого вказувати не потрібно), а також вимкнути нотифікації за допомогою параметра `SLIENT` (його можна ставити у `true` чи `false`)

## Запуск
### Збудуй власний імедж
Expand Down
11 changes: 9 additions & 2 deletions bot/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
URL = os.getenv("URL")
REGION_LIST = os.getenv("REGION_LIST").split(",") if os.getenv("REGION_LIST") else None
TIMEZONE = os.getenv("TIMEZONE")
SLIENT = os.getenv("SLIENT")

"""
Full list of regions:
Expand Down Expand Up @@ -112,7 +113,13 @@
logger.warning("TIMEZONE is not defined in .env file, using a default timezone Europe/Kiev")
TIMEZONE = "Europe/Kiev"

logger.info(f"Bot started with CHAT_ID: {CHAT_ID}")
if not SLIENT or SLIENT.lower not in lower["true", "false"]:
logger.warning("SLIENT is not defined in .env file, or not a boolean, using a default value false")
SLIENT = "false"
else:
SLIENT = SLIENT.lower()

logger.info(f"Bot started with CHAT_ID: {CHAT_ID} and SLIENT: {SLIENT}")
logger.info(f"Following regions will be monitored: {REGION_LIST}")


Expand All @@ -127,7 +134,7 @@ def get_data():


def send_message(text):
url = f"https://api.telegram.org/bot{TOKEN}/sendMessage?chat_id={CHAT_ID}&text={text}"
url = f"https://api.telegram.org/bot{TOKEN}/sendMessage?chat_id={CHAT_ID}&disable_notification={SLIENT}&text={text}"
try:
response = requests.get(url, timeout=20)
response.raise_for_status()
Expand Down

0 comments on commit 3f674c8

Please sign in to comment.