telegram-python 0.3.1__tar.gz → 0.3.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: telegram-python
3
- Version: 0.3.1
3
+ Version: 0.3.3
4
4
  Summary: A Python package for sending Telegram messages
5
5
  Author: Tatiana
6
6
  Author-email: durachevska@ukr.net
@@ -13,7 +13,7 @@ Classifier: Programming Language :: Python :: 3.13
13
13
  Requires-Dist: requests (>=2.32.3,<3.0.0)
14
14
  Description-Content-Type: text/markdown
15
15
 
16
- poetry add telegram_send
16
+ poetry add telegram_python
17
17
 
18
18
  cd demo
19
19
  poe demo
@@ -0,0 +1,4 @@
1
+ poetry add telegram_python
2
+
3
+ cd demo
4
+ poe demo
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "telegram-python"
3
- version = "0.3.1"
3
+ version = "0.3.3"
4
4
  description = "A Python package for sending Telegram messages"
5
5
  authors = ["Tatiana <durachevska@ukr.net>"]
6
6
  readme = "README.md"
@@ -13,7 +13,7 @@ requests = "^2.32.3"
13
13
  requires = ["poetry-core"]
14
14
  build-backend = "poetry.core.masonry.api"
15
15
 
16
- packages = [{include = "telegram_send"}]
16
+ packages = [{include = "telegram_python"}]
17
17
 
18
18
  [tool.setuptools.packages]
19
19
  find = {exclude = ["demo"]}
@@ -0,0 +1,2 @@
1
+ from .telegram_send import send
2
+ __all__ = ["send"] # Оголошуємо, що функція send є частиною публічного API пакета
@@ -0,0 +1,46 @@
1
+ import requests
2
+ from datetime import datetime
3
+ import os
4
+ import logging
5
+
6
+ start_hour = int(os.getenv("TELEGRAM_START_HOUR", 0))
7
+ end_hour = int(os.getenv("TELEGRAM_END_HOUR", 24))
8
+ bot_token = os.getenv("TELEGRAM_BOT_TOKEN")
9
+ chat_id = os.getenv("TELEGRAM_CHAT_ID")
10
+
11
+ if not bot_token or not chat_id:
12
+ raise ValueError("Bot token or chat ID not set. Please check your .env file.")
13
+
14
+ logging.basicConfig(level=logging.INFO, filename="py_log.log",filemode="w",
15
+ format="%(asctime)s %(levelname)s %(message)s")
16
+
17
+ def send(message: str) -> None:
18
+ """
19
+ Відправляє повідомлення в Telegram в заданий час (від 0 до 24).
20
+ """
21
+
22
+ now = datetime.now()
23
+ current_hour = now.hour
24
+ telegram_max_symbol = 4096
25
+ if start_hour <= current_hour and current_hour < end_hour:
26
+ try:
27
+ if len(message) > telegram_max_symbol:
28
+ message = message[:telegram_max_symbol]
29
+ url = f"https://api.telegram.org/bot{bot_token}/sendMessage"
30
+ payload = {
31
+ "chat_id": chat_id,
32
+ "text": message
33
+ }
34
+ my_rez=requests.post(url, json=payload, timeout=10)
35
+
36
+ if my_rez.status_code == 200:
37
+ logging.info(f"Message sent successfully to chat_id={chat_id}")
38
+ else:
39
+ logging.error(f"Message sent with reason: {my_rez.reason}")
40
+
41
+ except requests.exceptions.RequestException as e:
42
+ logging.error(f"Error sending message: {e}") # помилки, пов’язані з HTTP-запитами
43
+ except Exception as e:
44
+ logging.error(f"Unexpected error: {e}")
45
+ else:
46
+ logging.info(f"Current time ({current_hour}) is outside the allowed range ({start_hour}-{end_hour}).")
@@ -1,4 +0,0 @@
1
- poetry add telegram_send
2
-
3
- cd demo
4
- poe demo
File without changes
@@ -1,14 +0,0 @@
1
- [tool.poetry]
2
- name = "telegram-python"
3
- version = "0.1.0"
4
- description = ""
5
- authors = ["Tatiana <durachevska@ukr.net>"]
6
- readme = "README.md"
7
-
8
- [tool.poetry.dependencies]
9
- python = "^3.11"
10
-
11
-
12
- [build-system]
13
- requires = ["poetry-core"]
14
- build-backend = "poetry.core.masonry.api"
File without changes