update RAFAEL to use v20 telegram SDK

This commit is contained in:
James Ravenscroft 2022-11-06 17:39:16 +00:00
parent 07eaea7eec
commit eb134f5ecb
5 changed files with 192 additions and 193 deletions

318
poetry.lock generated
View File

@ -1,21 +1,38 @@
[[package]]
name = "anyio"
version = "3.6.2"
description = "High level compatibility layer for multiple asynchronous event loop implementations"
category = "main"
optional = false
python-versions = ">=3.6.2"
[package.dependencies]
idna = ">=2.8"
sniffio = ">=1.1"
[package.extras]
doc = ["packaging", "sphinx-rtd-theme", "sphinx-autodoc-typehints (>=1.2.0)"]
test = ["coverage[toml] (>=4.5)", "hypothesis (>=4.0)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "contextlib2", "uvloop (<0.15)", "mock (>=4)", "uvloop (>=0.15)"]
trio = ["trio (>=0.16,<0.22)"]
[[package]] [[package]]
name = "apscheduler" name = "apscheduler"
version = "3.6.3" version = "3.9.1"
description = "In-process task scheduler with Cron-like capabilities" description = "In-process task scheduler with Cron-like capabilities"
category = "main" category = "main"
optional = false optional = false
python-versions = "*" python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4"
[package.dependencies] [package.dependencies]
pytz = "*" pytz = "*"
six = ">=1.4.0" six = ">=1.4.0"
tzlocal = ">=1.2" tzlocal = ">=2.0,<3.0.0 || >=4.0.0"
[package.extras] [package.extras]
asyncio = ["trollius"] asyncio = ["trollius"]
doc = ["sphinx", "sphinx-rtd-theme"] doc = ["sphinx", "sphinx-rtd-theme"]
gevent = ["gevent"] gevent = ["gevent"]
mongodb = ["pymongo (>=2.8)"] mongodb = ["pymongo (>=3.0)"]
redis = ["redis (>=3.0)"] redis = ["redis (>=3.0)"]
rethinkdb = ["rethinkdb (>=2.4.0)"] rethinkdb = ["rethinkdb (>=2.4.0)"]
sqlalchemy = ["sqlalchemy (>=0.8)"] sqlalchemy = ["sqlalchemy (>=0.8)"]
@ -40,11 +57,11 @@ tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>
[[package]] [[package]]
name = "beautifulsoup4" name = "beautifulsoup4"
version = "4.10.0" version = "4.11.1"
description = "Screen-scraping library" description = "Screen-scraping library"
category = "main" category = "main"
optional = false optional = false
python-versions = ">3.0.0" python-versions = ">=3.6.0"
[package.dependencies] [package.dependencies]
soupsieve = ">1.2" soupsieve = ">1.2"
@ -66,34 +83,34 @@ beautifulsoup4 = "*"
[[package]] [[package]]
name = "cachetools" name = "cachetools"
version = "4.2.2" version = "5.2.0"
description = "Extensible memoizing collections and decorators" description = "Extensible memoizing collections and decorators"
category = "main" category = "main"
optional = false optional = false
python-versions = "~=3.5" python-versions = "~=3.7"
[[package]] [[package]]
name = "certifi" name = "certifi"
version = "2021.10.8" version = "2022.9.24"
description = "Python package for providing Mozilla's CA Bundle." description = "Python package for providing Mozilla's CA Bundle."
category = "main" category = "main"
optional = false optional = false
python-versions = "*" python-versions = ">=3.6"
[[package]] [[package]]
name = "charset-normalizer" name = "charset-normalizer"
version = "2.0.12" version = "2.1.1"
description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
category = "main" category = "main"
optional = false optional = false
python-versions = ">=3.5.0" python-versions = ">=3.6.0"
[package.extras] [package.extras]
unicode_backport = ["unicodedata2"] unicode_backport = ["unicodedata2"]
[[package]] [[package]]
name = "click" name = "click"
version = "8.1.2" version = "8.1.3"
description = "Composable command line interface toolkit" description = "Composable command line interface toolkit"
category = "main" category = "main"
optional = false optional = false
@ -104,15 +121,15 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""}
[[package]] [[package]]
name = "colorama" name = "colorama"
version = "0.4.4" version = "0.4.6"
description = "Cross-platform colored terminal text." description = "Cross-platform colored terminal text."
category = "main" category = "main"
optional = false optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
[[package]] [[package]]
name = "dokuwiki" name = "dokuwiki"
version = "1.3.2" version = "1.3.3"
description = "Manage DokuWiki via XML-RPC API." description = "Manage DokuWiki via XML-RPC API."
category = "main" category = "main"
optional = false optional = false
@ -131,7 +148,7 @@ sgmllib3k = "*"
[[package]] [[package]]
name = "flask" name = "flask"
version = "2.1.1" version = "2.2.2"
description = "A simple framework for building complex web applications." description = "A simple framework for building complex web applications."
category = "main" category = "main"
optional = false optional = false
@ -141,15 +158,61 @@ python-versions = ">=3.7"
click = ">=8.0" click = ">=8.0"
itsdangerous = ">=2.0" itsdangerous = ">=2.0"
Jinja2 = ">=3.0" Jinja2 = ">=3.0"
Werkzeug = ">=2.0" Werkzeug = ">=2.2.2"
[package.extras] [package.extras]
async = ["asgiref (>=3.2)"] async = ["asgiref (>=3.2)"]
dotenv = ["python-dotenv"] dotenv = ["python-dotenv"]
[[package]]
name = "h11"
version = "0.12.0"
description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1"
category = "main"
optional = false
python-versions = ">=3.6"
[[package]]
name = "httpcore"
version = "0.15.0"
description = "A minimal low-level HTTP client."
category = "main"
optional = false
python-versions = ">=3.7"
[package.dependencies]
anyio = ">=3.0.0,<4.0.0"
certifi = "*"
h11 = ">=0.11,<0.13"
sniffio = ">=1.0.0,<2.0.0"
[package.extras]
http2 = ["h2 (>=3,<5)"]
socks = ["socksio (>=1.0.0,<2.0.0)"]
[[package]]
name = "httpx"
version = "0.23.0"
description = "The next generation HTTP client."
category = "main"
optional = false
python-versions = ">=3.7"
[package.dependencies]
certifi = "*"
httpcore = ">=0.15.0,<0.16.0"
rfc3986 = {version = ">=1.3,<2", extras = ["idna2008"]}
sniffio = "*"
[package.extras]
brotli = ["brotlicffi", "brotli"]
cli = ["click (>=8.0.0,<9.0.0)", "rich (>=10,<13)", "pygments (>=2.0.0,<3.0.0)"]
http2 = ["h2 (>=3,<5)"]
socks = ["socksio (>=1.0.0,<2.0.0)"]
[[package]] [[package]]
name = "idna" name = "idna"
version = "3.3" version = "3.4"
description = "Internationalized Domain Names in Applications (IDNA)" description = "Internationalized Domain Names in Applications (IDNA)"
category = "main" category = "main"
optional = false optional = false
@ -165,7 +228,7 @@ python-versions = ">=3.7"
[[package]] [[package]]
name = "jinja2" name = "jinja2"
version = "3.1.1" version = "3.1.2"
description = "A very fast and expressive template engine." description = "A very fast and expressive template engine."
category = "main" category = "main"
optional = false optional = false
@ -221,27 +284,27 @@ cli = ["click (>=5.0)"]
[[package]] [[package]]
name = "python-telegram-bot" name = "python-telegram-bot"
version = "13.11" version = "20.0a4"
description = "We have made you a wrapper you can't refuse" description = "We have made you a wrapper you can't refuse"
category = "main" category = "main"
optional = false optional = false
python-versions = ">=3.6" python-versions = ">=3.7"
[package.dependencies] [package.dependencies]
APScheduler = "3.6.3" APScheduler = ">=3.9.1,<3.10.0"
cachetools = "4.2.2" cachetools = ">=5.2.0,<5.3.0"
certifi = "*" httpx = ">=0.23.0,<0.24.0"
pytz = ">=2018.6" pytz = ">=2018.6"
tornado = ">=6.1" tornado = ">=6.2,<7.0"
[package.extras] [package.extras]
json = ["ujson"] passport = ["cryptography (>=3.0,!=3.4,!=3.4.1,!=3.4.2,!=3.4.3)"]
passport = ["cryptography (!=3.4,!=3.4.1,!=3.4.2,!=3.4.3)"] rate-limiter = ["aiolimiter (>=1.0.0,<1.1.0)"]
socks = ["pysocks"] socks = ["httpx"]
[[package]] [[package]]
name = "pytz" name = "pytz"
version = "2022.1" version = "2022.6"
description = "World timezone definitions, modern and historical" description = "World timezone definitions, modern and historical"
category = "main" category = "main"
optional = false optional = false
@ -268,21 +331,35 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
[[package]] [[package]]
name = "requests" name = "requests"
version = "2.27.1" version = "2.28.1"
description = "Python HTTP for Humans." description = "Python HTTP for Humans."
category = "main" category = "main"
optional = false optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" python-versions = ">=3.7, <4"
[package.dependencies] [package.dependencies]
certifi = ">=2017.4.17" certifi = ">=2017.4.17"
charset-normalizer = {version = ">=2.0.0,<2.1.0", markers = "python_version >= \"3\""} charset-normalizer = ">=2,<3"
idna = {version = ">=2.5,<4", markers = "python_version >= \"3\""} idna = ">=2.5,<4"
urllib3 = ">=1.21.1,<1.27" urllib3 = ">=1.21.1,<1.27"
[package.extras] [package.extras]
socks = ["PySocks (>=1.5.6,!=1.5.7)", "win-inet-pton"] socks = ["PySocks (>=1.5.6,!=1.5.7)"]
use_chardet_on_py3 = ["chardet (>=3.0.2,<5)"] use_chardet_on_py3 = ["chardet (>=3.0.2,<6)"]
[[package]]
name = "rfc3986"
version = "1.5.0"
description = "Validating URI References per RFC 3986"
category = "main"
optional = false
python-versions = "*"
[package.dependencies]
idna = {version = "*", optional = true, markers = "extra == \"idna2008\""}
[package.extras]
idna2008 = ["idna"]
[[package]] [[package]]
name = "sgmllib3k" name = "sgmllib3k"
@ -300,9 +377,17 @@ category = "main"
optional = false optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
[[package]]
name = "sniffio"
version = "1.3.0"
description = "Sniff out which async library your code is running under"
category = "main"
optional = false
python-versions = ">=3.7"
[[package]] [[package]]
name = "soupsieve" name = "soupsieve"
version = "2.3.1" version = "2.3.2.post1"
description = "A modern CSS selector implementation for Beautiful Soup." description = "A modern CSS selector implementation for Beautiful Soup."
category = "main" category = "main"
optional = false optional = false
@ -322,15 +407,15 @@ requests = ">=2.26.0,<3.0.0"
[[package]] [[package]]
name = "tornado" name = "tornado"
version = "6.1" version = "6.2"
description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed." description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed."
category = "main" category = "main"
optional = false optional = false
python-versions = ">= 3.5" python-versions = ">= 3.7"
[[package]] [[package]]
name = "tzdata" name = "tzdata"
version = "2022.1" version = "2022.6"
description = "Provider of IANA time zone data" description = "Provider of IANA time zone data"
category = "main" category = "main"
optional = false optional = false
@ -354,90 +439,64 @@ test = ["pytest-mock (>=3.3)", "pytest (>=4.3)"]
[[package]] [[package]]
name = "urllib3" name = "urllib3"
version = "1.26.9" version = "1.26.12"
description = "HTTP library with thread-safe connection pooling, file post, and more." description = "HTTP library with thread-safe connection pooling, file post, and more."
category = "main" category = "main"
optional = false optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, <4"
[package.extras] [package.extras]
brotli = ["brotlicffi (>=0.8.0)", "brotli (>=1.0.9)", "brotlipy (>=0.6.0)"] brotli = ["brotlicffi (>=0.8.0)", "brotli (>=1.0.9)", "brotlipy (>=0.6.0)"]
secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"] secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "urllib3-secure-extra", "ipaddress"]
socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"]
[[package]] [[package]]
name = "werkzeug" name = "werkzeug"
version = "2.1.1" version = "2.2.2"
description = "The comprehensive WSGI web application library." description = "The comprehensive WSGI web application library."
category = "main" category = "main"
optional = false optional = false
python-versions = ">=3.7" python-versions = ">=3.7"
[package.dependencies]
MarkupSafe = ">=2.1.1"
[package.extras] [package.extras]
watchdog = ["watchdog"] watchdog = ["watchdog"]
[metadata] [metadata]
lock-version = "1.1" lock-version = "1.1"
python-versions = "^3.10" python-versions = "^3.10"
content-hash = "2e482c8851ca14e2a5a862af70863b9875e65584bbaf49d048fcc446091d92ad" content-hash = "7c348ae2ed45898d84277a10297e0f4f32dca3454ab60e4910fb4c7c15d7e937"
[metadata.files] [metadata.files]
apscheduler = [ anyio = []
{file = "APScheduler-3.6.3-py2.py3-none-any.whl", hash = "sha256:e8b1ecdb4c7cb2818913f766d5898183c7cb8936680710a4d3a966e02262e526"}, apscheduler = []
{file = "APScheduler-3.6.3.tar.gz", hash = "sha256:3bb5229eed6fbbdafc13ce962712ae66e175aa214c69bed35a06bffcf0c5e244"},
]
attrs = [ attrs = [
{file = "attrs-21.4.0-py2.py3-none-any.whl", hash = "sha256:2d27e3784d7a565d36ab851fe94887c5eccd6a463168875832a1be79c82828b4"}, {file = "attrs-21.4.0-py2.py3-none-any.whl", hash = "sha256:2d27e3784d7a565d36ab851fe94887c5eccd6a463168875832a1be79c82828b4"},
{file = "attrs-21.4.0.tar.gz", hash = "sha256:626ba8234211db98e869df76230a137c4c40a12d72445c45d5f5b716f076e2fd"}, {file = "attrs-21.4.0.tar.gz", hash = "sha256:626ba8234211db98e869df76230a137c4c40a12d72445c45d5f5b716f076e2fd"},
] ]
beautifulsoup4 = [ beautifulsoup4 = []
{file = "beautifulsoup4-4.10.0-py3-none-any.whl", hash = "sha256:9a315ce70049920ea4572a4055bc4bd700c940521d36fc858205ad4fcde149bf"},
{file = "beautifulsoup4-4.10.0.tar.gz", hash = "sha256:c23ad23c521d818955a4151a67d81580319d4bf548d3d49f4223ae041ff98891"},
]
bs4 = [ bs4 = [
{file = "bs4-0.0.1.tar.gz", hash = "sha256:36ecea1fd7cc5c0c6e4a1ff075df26d50da647b75376626cc186e2212886dd3a"}, {file = "bs4-0.0.1.tar.gz", hash = "sha256:36ecea1fd7cc5c0c6e4a1ff075df26d50da647b75376626cc186e2212886dd3a"},
] ]
cachetools = [ cachetools = []
{file = "cachetools-4.2.2-py3-none-any.whl", hash = "sha256:2cc0b89715337ab6dbba85b5b50effe2b0c74e035d83ee8ed637cf52f12ae001"}, certifi = []
{file = "cachetools-4.2.2.tar.gz", hash = "sha256:61b5ed1e22a0924aed1d23b478f37e8d52549ff8a961de2909c69bf950020cff"}, charset-normalizer = []
] click = []
certifi = [ colorama = []
{file = "certifi-2021.10.8-py2.py3-none-any.whl", hash = "sha256:d62a0163eb4c2344ac042ab2bdf75399a71a2d8c7d47eac2e2ee91b9d6339569"}, dokuwiki = []
{file = "certifi-2021.10.8.tar.gz", hash = "sha256:78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872"},
]
charset-normalizer = [
{file = "charset-normalizer-2.0.12.tar.gz", hash = "sha256:2857e29ff0d34db842cd7ca3230549d1a697f96ee6d3fb071cfa6c7393832597"},
{file = "charset_normalizer-2.0.12-py3-none-any.whl", hash = "sha256:6881edbebdb17b39b4eaaa821b438bf6eddffb4468cf344f09f89def34a8b1df"},
]
click = [
{file = "click-8.1.2-py3-none-any.whl", hash = "sha256:24e1a4a9ec5bf6299411369b208c1df2188d9eb8d916302fe6bf03faed227f1e"},
{file = "click-8.1.2.tar.gz", hash = "sha256:479707fe14d9ec9a0757618b7a100a0ae4c4e236fac5b7f80ca68028141a1a72"},
]
colorama = [
{file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"},
{file = "colorama-0.4.4.tar.gz", hash = "sha256:5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b"},
]
dokuwiki = [
{file = "dokuwiki-1.3.2-py3-none-any.whl", hash = "sha256:0720b9fef9cbcb01879b2723b65a5f5bef63a68e9bfc362b09b2e3d9ba7cdedb"},
{file = "dokuwiki-1.3.2.tar.gz", hash = "sha256:af01bf878da69d915bf15a003cd9ef0d364a706a87acf74d00c6bb337636d350"},
]
feedparser = [] feedparser = []
flask = [ flask = []
{file = "Flask-2.1.1-py3-none-any.whl", hash = "sha256:8a4cf32d904cf5621db9f0c9fbcd7efabf3003f22a04e4d0ce790c7137ec5264"}, h11 = []
{file = "Flask-2.1.1.tar.gz", hash = "sha256:a8c9bd3e558ec99646d177a9739c41df1ded0629480b4c8d2975412f3c9519c8"}, httpcore = []
] httpx = []
idna = [ idna = []
{file = "idna-3.3-py3-none-any.whl", hash = "sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff"},
{file = "idna-3.3.tar.gz", hash = "sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d"},
]
itsdangerous = [ itsdangerous = [
{file = "itsdangerous-2.1.2-py3-none-any.whl", hash = "sha256:2c2349112351b88699d8d4b6b075022c0808887cb7ad10069318a8b0bc88db44"}, {file = "itsdangerous-2.1.2-py3-none-any.whl", hash = "sha256:2c2349112351b88699d8d4b6b075022c0808887cb7ad10069318a8b0bc88db44"},
{file = "itsdangerous-2.1.2.tar.gz", hash = "sha256:5dbbc68b317e5e42f327f9021763545dc3fc3bfe22e6deb96aaf1fc38874156a"}, {file = "itsdangerous-2.1.2.tar.gz", hash = "sha256:5dbbc68b317e5e42f327f9021763545dc3fc3bfe22e6deb96aaf1fc38874156a"},
] ]
jinja2 = [ jinja2 = []
{file = "Jinja2-3.1.1-py3-none-any.whl", hash = "sha256:539835f51a74a69f41b848a9645dbdc35b4f20a3b601e2d9a7e22947b15ff119"},
{file = "Jinja2-3.1.1.tar.gz", hash = "sha256:640bed4bb501cbd17194b3cace1dc2126f5b619cf068a726b98192a0fde74ae9"},
]
markupsafe = [ markupsafe = [
{file = "MarkupSafe-2.1.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:86b1f75c4e7c2ac2ccdaec2b9022845dbb81880ca318bb7a0a01fbf7813e3812"}, {file = "MarkupSafe-2.1.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:86b1f75c4e7c2ac2ccdaec2b9022845dbb81880ca318bb7a0a01fbf7813e3812"},
{file = "MarkupSafe-2.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f121a1420d4e173a5d96e47e9a0c0dcff965afdf1626d28de1460815f7c4ee7a"}, {file = "MarkupSafe-2.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f121a1420d4e173a5d96e47e9a0c0dcff965afdf1626d28de1460815f7c4ee7a"},
@ -486,92 +545,31 @@ python-dotenv = [
{file = "python-dotenv-0.20.0.tar.gz", hash = "sha256:b7e3b04a59693c42c36f9ab1cc2acc46fa5df8c78e178fc33a8d4cd05c8d498f"}, {file = "python-dotenv-0.20.0.tar.gz", hash = "sha256:b7e3b04a59693c42c36f9ab1cc2acc46fa5df8c78e178fc33a8d4cd05c8d498f"},
{file = "python_dotenv-0.20.0-py3-none-any.whl", hash = "sha256:d92a187be61fe482e4fd675b6d52200e7be63a12b724abbf931a40ce4fa92938"}, {file = "python_dotenv-0.20.0-py3-none-any.whl", hash = "sha256:d92a187be61fe482e4fd675b6d52200e7be63a12b724abbf931a40ce4fa92938"},
] ]
python-telegram-bot = [ python-telegram-bot = []
{file = "python-telegram-bot-13.11.tar.gz", hash = "sha256:baeff704baa2ac3dc17a944c02da888228ad258e89be2e5bcbd13a8a5102d573"}, pytz = []
{file = "python_telegram_bot-13.11-py3-none-any.whl", hash = "sha256:534f5bb0ff4ca34c9252e97e0b3bcdab81d97be0eb4821682a361cb426c00e55"},
]
pytz = [
{file = "pytz-2022.1-py2.py3-none-any.whl", hash = "sha256:e68985985296d9a66a881eb3193b0906246245294a881e7c8afe623866ac6a5c"},
{file = "pytz-2022.1.tar.gz", hash = "sha256:1e760e2fe6a8163bc0b3d9a19c4f84342afa0a2affebfaa84b01b978a02ecaa7"},
]
pytz-deprecation-shim = [ pytz-deprecation-shim = [
{file = "pytz_deprecation_shim-0.1.0.post0-py2.py3-none-any.whl", hash = "sha256:8314c9692a636c8eb3bda879b9f119e350e93223ae83e70e80c31675a0fdc1a6"}, {file = "pytz_deprecation_shim-0.1.0.post0-py2.py3-none-any.whl", hash = "sha256:8314c9692a636c8eb3bda879b9f119e350e93223ae83e70e80c31675a0fdc1a6"},
{file = "pytz_deprecation_shim-0.1.0.post0.tar.gz", hash = "sha256:af097bae1b616dde5c5744441e2ddc69e74dfdcb0c263129610d85b87445a59d"}, {file = "pytz_deprecation_shim-0.1.0.post0.tar.gz", hash = "sha256:af097bae1b616dde5c5744441e2ddc69e74dfdcb0c263129610d85b87445a59d"},
] ]
pytzdata = [] pytzdata = []
requests = [ requests = []
{file = "requests-2.27.1-py2.py3-none-any.whl", hash = "sha256:f22fa1e554c9ddfd16e6e41ac79759e17be9e492b3587efa038054674760e72d"}, rfc3986 = []
{file = "requests-2.27.1.tar.gz", hash = "sha256:68d7c56fd5a8999887728ef304a6d12edc7be74f1cfa47714fc8b414525c9a61"},
]
sgmllib3k = [] sgmllib3k = []
six = [ six = [
{file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"},
{file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
] ]
soupsieve = [ sniffio = []
{file = "soupsieve-2.3.1-py3-none-any.whl", hash = "sha256:1a3cca2617c6b38c0343ed661b1fa5de5637f257d4fe22bd9f1338010a1efefb"}, soupsieve = []
{file = "soupsieve-2.3.1.tar.gz", hash = "sha256:b8d49b1cd4f037c7082a9683dfa1801aa2597fb11c3a1155b7a5b94829b4f1f9"},
]
todoist-api-python = [ todoist-api-python = [
{file = "todoist_api_python-1.1.1-py3-none-any.whl", hash = "sha256:17e70ecf77ae879248f61bc8b8ce9fa2765a57901b78a75d92349143e614f3b5"}, {file = "todoist_api_python-1.1.1-py3-none-any.whl", hash = "sha256:17e70ecf77ae879248f61bc8b8ce9fa2765a57901b78a75d92349143e614f3b5"},
{file = "todoist_api_python-1.1.1.tar.gz", hash = "sha256:5080f1b21b17378454ae0b8ceb8c647803fba023526176c8a9bb784508fb8508"}, {file = "todoist_api_python-1.1.1.tar.gz", hash = "sha256:5080f1b21b17378454ae0b8ceb8c647803fba023526176c8a9bb784508fb8508"},
] ]
tornado = [ tornado = []
{file = "tornado-6.1-cp35-cp35m-macosx_10_9_x86_64.whl", hash = "sha256:d371e811d6b156d82aa5f9a4e08b58debf97c302a35714f6f45e35139c332e32"}, tzdata = []
{file = "tornado-6.1-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:0d321a39c36e5f2c4ff12b4ed58d41390460f798422c4504e09eb5678e09998c"},
{file = "tornado-6.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:9de9e5188a782be6b1ce866e8a51bc76a0fbaa0e16613823fc38e4fc2556ad05"},
{file = "tornado-6.1-cp35-cp35m-manylinux2010_i686.whl", hash = "sha256:61b32d06ae8a036a6607805e6720ef00a3c98207038444ba7fd3d169cd998910"},
{file = "tornado-6.1-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:3e63498f680547ed24d2c71e6497f24bca791aca2fe116dbc2bd0ac7f191691b"},
{file = "tornado-6.1-cp35-cp35m-manylinux2014_aarch64.whl", hash = "sha256:6c77c9937962577a6a76917845d06af6ab9197702a42e1346d8ae2e76b5e3675"},
{file = "tornado-6.1-cp35-cp35m-win32.whl", hash = "sha256:6286efab1ed6e74b7028327365cf7346b1d777d63ab30e21a0f4d5b275fc17d5"},
{file = "tornado-6.1-cp35-cp35m-win_amd64.whl", hash = "sha256:fa2ba70284fa42c2a5ecb35e322e68823288a4251f9ba9cc77be04ae15eada68"},
{file = "tornado-6.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:0a00ff4561e2929a2c37ce706cb8233b7907e0cdc22eab98888aca5dd3775feb"},
{file = "tornado-6.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:748290bf9112b581c525e6e6d3820621ff020ed95af6f17fedef416b27ed564c"},
{file = "tornado-6.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:e385b637ac3acaae8022e7e47dfa7b83d3620e432e3ecb9a3f7f58f150e50921"},
{file = "tornado-6.1-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:25ad220258349a12ae87ede08a7b04aca51237721f63b1808d39bdb4b2164558"},
{file = "tornado-6.1-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:65d98939f1a2e74b58839f8c4dab3b6b3c1ce84972ae712be02845e65391ac7c"},
{file = "tornado-6.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:e519d64089b0876c7b467274468709dadf11e41d65f63bba207e04217f47c085"},
{file = "tornado-6.1-cp36-cp36m-win32.whl", hash = "sha256:b87936fd2c317b6ee08a5741ea06b9d11a6074ef4cc42e031bc6403f82a32575"},
{file = "tornado-6.1-cp36-cp36m-win_amd64.whl", hash = "sha256:cc0ee35043162abbf717b7df924597ade8e5395e7b66d18270116f8745ceb795"},
{file = "tornado-6.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:7250a3fa399f08ec9cb3f7b1b987955d17e044f1ade821b32e5f435130250d7f"},
{file = "tornado-6.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:ed3ad863b1b40cd1d4bd21e7498329ccaece75db5a5bf58cd3c9f130843e7102"},
{file = "tornado-6.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:dcef026f608f678c118779cd6591c8af6e9b4155c44e0d1bc0c87c036fb8c8c4"},
{file = "tornado-6.1-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:70dec29e8ac485dbf57481baee40781c63e381bebea080991893cd297742b8fd"},
{file = "tornado-6.1-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:d3f7594930c423fd9f5d1a76bee85a2c36fd8b4b16921cae7e965f22575e9c01"},
{file = "tornado-6.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:3447475585bae2e77ecb832fc0300c3695516a47d46cefa0528181a34c5b9d3d"},
{file = "tornado-6.1-cp37-cp37m-win32.whl", hash = "sha256:e7229e60ac41a1202444497ddde70a48d33909e484f96eb0da9baf8dc68541df"},
{file = "tornado-6.1-cp37-cp37m-win_amd64.whl", hash = "sha256:cb5ec8eead331e3bb4ce8066cf06d2dfef1bfb1b2a73082dfe8a161301b76e37"},
{file = "tornado-6.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:20241b3cb4f425e971cb0a8e4ffc9b0a861530ae3c52f2b0434e6c1b57e9fd95"},
{file = "tornado-6.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:c77da1263aa361938476f04c4b6c8916001b90b2c2fdd92d8d535e1af48fba5a"},
{file = "tornado-6.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:fba85b6cd9c39be262fcd23865652920832b61583de2a2ca907dbd8e8a8c81e5"},
{file = "tornado-6.1-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:1e8225a1070cd8eec59a996c43229fe8f95689cb16e552d130b9793cb570a288"},
{file = "tornado-6.1-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:d14d30e7f46a0476efb0deb5b61343b1526f73ebb5ed84f23dc794bdb88f9d9f"},
{file = "tornado-6.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:8f959b26f2634a091bb42241c3ed8d3cedb506e7c27b8dd5c7b9f745318ddbb6"},
{file = "tornado-6.1-cp38-cp38-win32.whl", hash = "sha256:34ca2dac9e4d7afb0bed4677512e36a52f09caa6fded70b4e3e1c89dbd92c326"},
{file = "tornado-6.1-cp38-cp38-win_amd64.whl", hash = "sha256:6196a5c39286cc37c024cd78834fb9345e464525d8991c21e908cc046d1cc02c"},
{file = "tornado-6.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f0ba29bafd8e7e22920567ce0d232c26d4d47c8b5cf4ed7b562b5db39fa199c5"},
{file = "tornado-6.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:33892118b165401f291070100d6d09359ca74addda679b60390b09f8ef325ffe"},
{file = "tornado-6.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:7da13da6f985aab7f6f28debab00c67ff9cbacd588e8477034c0652ac141feea"},
{file = "tornado-6.1-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:e0791ac58d91ac58f694d8d2957884df8e4e2f6687cdf367ef7eb7497f79eaa2"},
{file = "tornado-6.1-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:66324e4e1beede9ac79e60f88de548da58b1f8ab4b2f1354d8375774f997e6c0"},
{file = "tornado-6.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:a48900ecea1cbb71b8c71c620dee15b62f85f7c14189bdeee54966fbd9a0c5bd"},
{file = "tornado-6.1-cp39-cp39-win32.whl", hash = "sha256:d3d20ea5782ba63ed13bc2b8c291a053c8d807a8fa927d941bd718468f7b950c"},
{file = "tornado-6.1-cp39-cp39-win_amd64.whl", hash = "sha256:548430be2740e327b3fe0201abe471f314741efcb0067ec4f2d7dcfb4825f3e4"},
{file = "tornado-6.1.tar.gz", hash = "sha256:33c6e81d7bd55b468d2e793517c909b139960b6c790a60b7991b9b6b76fb9791"},
]
tzdata = [
{file = "tzdata-2022.1-py2.py3-none-any.whl", hash = "sha256:238e70234214138ed7b4e8a0fab0e5e13872edab3be586ab8198c407620e2ab9"},
{file = "tzdata-2022.1.tar.gz", hash = "sha256:8b536a8ec63dc0751342b3984193a3118f8fca2afe25752bb9b7fffd398552d3"},
]
tzlocal = [ tzlocal = [
{file = "tzlocal-4.2-py3-none-any.whl", hash = "sha256:89885494684c929d9191c57aa27502afc87a579be5cdd3225c77c463ea043745"}, {file = "tzlocal-4.2-py3-none-any.whl", hash = "sha256:89885494684c929d9191c57aa27502afc87a579be5cdd3225c77c463ea043745"},
{file = "tzlocal-4.2.tar.gz", hash = "sha256:ee5842fa3a795f023514ac2d801c4a81d1743bbe642e3940143326b3a00addd7"}, {file = "tzlocal-4.2.tar.gz", hash = "sha256:ee5842fa3a795f023514ac2d801c4a81d1743bbe642e3940143326b3a00addd7"},
] ]
urllib3 = [ urllib3 = []
{file = "urllib3-1.26.9-py2.py3-none-any.whl", hash = "sha256:44ece4d53fb1706f667c9bd1c648f5469a2ec925fcf3a776667042d645472c14"}, werkzeug = []
{file = "urllib3-1.26.9.tar.gz", hash = "sha256:aabaf16477806a5e1dd19aa41f8c2b7950dd3c746362d7e3223dbe6de6ac448e"},
]
werkzeug = [
{file = "Werkzeug-2.1.1-py3-none-any.whl", hash = "sha256:3c5493ece8268fecdcdc9c0b112211acd006354723b280d643ec732b6d4063d6"},
{file = "Werkzeug-2.1.1.tar.gz", hash = "sha256:f8e89a20aeabbe8a893c24a461d3ee5dad2123b05cc6abd73ceed01d39c3ae74"},
]

View File

@ -13,7 +13,7 @@ python = "^3.10"
Flask = "^2.1.1" Flask = "^2.1.1"
requests = "^2.27.1" requests = "^2.27.1"
dokuwiki = "^1.3.2" dokuwiki = "^1.3.2"
python-telegram-bot = "^13.11" python-telegram-bot = "20.0a4"
todoist-api-python = "^1.1.1" todoist-api-python = "^1.1.1"
python-dotenv = "^0.20.0" python-dotenv = "^0.20.0"
bs4 = "^0.0.1" bs4 = "^0.0.1"

View File

@ -10,7 +10,7 @@ from flask import Flask
from telegram import Update, PhotoSize, File, BotCommand from telegram import Update, PhotoSize, File, BotCommand
from telegram.ext import Updater, MessageHandler, CommandHandler, Filters, CallbackContext, ConversationHandler from telegram.ext import Updater, MessageHandler, CommandHandler, CallbackContext, Application
@ -50,26 +50,24 @@ def handle(update: Update, context: CallbackContext):
class RafaelBot: class RafaelBot:
def __init__(self): def __init__(self):
self.updater = Updater(os.getenv("TELEGRAM_API_KEY"))
self.dispatcher = self.updater.dispatcher self.application = Application.builder().token(os.getenv("TELEGRAM_API_KEY")).build()
bh = RafaelBookmarkPlugin() bh = RafaelBookmarkPlugin()
bh.register(self.updater) bh.register(self.application)
jp = JournalPlugin() jp = JournalPlugin()
jp.register(self.updater) jp.register(self.application)
#self.updater.dispatcher.add_handler(CommandHandler("journal", handle)) #self.updater.dispatcher.add_handler(CommandHandler("journal", handle))
#self.updater.dispatcher.add_handler(MessageHandler(Filters.attachment, handle)) #self.updater.dispatcher.add_handler(MessageHandler(Filters.attachment, handle))
def run(self): def run(self):
self.updater.start_polling() self.application.run_polling()

View File

@ -11,7 +11,8 @@ from flask import Flask
from telegram import Update from telegram import Update
import telegram import telegram
from telegram.ext import Updater, MessageHandler, CommandHandler, Filters, CallbackContext, Dispatcher
from telegram.ext import filters, Application, MessageHandler, CommandHandler, CallbackContext
from datetime import datetime from datetime import datetime
@ -50,8 +51,8 @@ class RafaelBookmarkPlugin:
}) })
def register(self, updater: Updater): def register(self, application: Application ):
updater.dispatcher.add_handler(MessageHandler(Filters.entity('url'), self.handle_url)) application.add_handler(MessageHandler(filters.Entity('url'), self.handle_url))
def get_title(self, url): def get_title(self, url):
@ -60,9 +61,9 @@ class RafaelBookmarkPlugin:
return bs.title.string return bs.title.string
def handle_url(self, update: Update, context: CallbackContext) -> None: async def handle_url(self, update: Update, context: CallbackContext) -> None:
"""Echo the user message.""" """Echo the user message."""
update.message.reply_text("Storing URL...") await update.message.reply_text("Storing URL...")
update_body = "" update_body = ""
@ -75,7 +76,7 @@ class RafaelBookmarkPlugin:
title = self.get_title(url) title = self.get_title(url)
link = f"[{title}]({url})" link = f"[{title}]({url})"
except Exception as err: except Exception as err:
update.message.reply_text(f"Failed to retrieve title for page {url}: {err}. Storing url only") await update.message.reply_text(f"Failed to retrieve title for page {url}: {err}. Storing url only")
link = f"{url}" link = f"{url}"
added_ds = f"(retrieved at: {datetime.now().strftime('%d/%m/%Y, %H:%M:%S')})" added_ds = f"(retrieved at: {datetime.now().strftime('%d/%m/%Y, %H:%M:%S')})"
@ -90,9 +91,9 @@ class RafaelBookmarkPlugin:
update.message.reply_text(f"Updated bookmarks page: {os.getenv('BOOKSTACK_URL')}") await update.message.reply_text(f"Updated bookmarks page: {os.getenv('BOOKSTACK_URL')}")
except Exception as err: except Exception as err:
update.message.reply_text(f"Failed to store url: {link}") await update.message.reply_text(f"Failed to store url: {link}")
print(err) print(err)
traceback.print_exc() traceback.print_exc()

View File

@ -7,7 +7,7 @@ from datetime import datetime
from collections import defaultdict from collections import defaultdict
from telegram import Update, PhotoSize, File, BotCommand from telegram import Update, PhotoSize, File, BotCommand
from telegram.ext import Updater, MessageHandler, CommandHandler, Filters, CallbackContext, ConversationHandler from telegram.ext import filters, Application, MessageHandler, CommandHandler, CallbackContext, ConversationHandler
from rafael.util.bookstack import BookstackClient, Page from rafael.util.bookstack import BookstackClient, Page
@ -17,7 +17,7 @@ SELECT_DATE, ADDING = range(2)
class JournalPlugin(): class JournalPlugin():
def init_convo(self, update: Update, context: CallbackContext): async def init_convo(self, update: Update, context: CallbackContext):
print("Args:", context.args) print("Args:", context.args)
@ -69,10 +69,10 @@ class JournalPlugin():
update.message.reply_text("Journal Mode On: Add text and files") await update.message.reply_text("Journal Mode On: Add text and files")
return ADDING return ADDING
def handle_md_update(self, update: Update, context: CallbackContext): async def handle_md_update(self, update: Update, context: CallbackContext):
page = self.api.get_page(context.chat_data['page_id']) page = self.api.get_page(context.chat_data['page_id'])
@ -80,10 +80,12 @@ class JournalPlugin():
self.api.update_page(Page(id=page['id'], markdown=content)) self.api.update_page(Page(id=page['id'], markdown=content))
update.message.reply_text(f"Added text to journal page {page['id']}") await update.message.reply_text(f"Added text to journal page {page['id']}")
return ADDING
def handle_file(self, update: Update, context: CallbackContext): async def handle_file(self, update: Update, context: CallbackContext):
if update.message.document is not None: if update.message.document is not None:
@ -120,35 +122,35 @@ class JournalPlugin():
self.api.update_page(Page(id=page['id'], markdown=content)) self.api.update_page(Page(id=page['id'], markdown=content))
update.message.reply_text(f"Added file attachment id={r['id']} name={r['name']}") await update.message.reply_text(f"Added file attachment id={r['id']} name={r['name']}")
return ADDING return ADDING
def done_handler(self, update: Update, context: CallbackContext): async def done_handler(self, update: Update, context: CallbackContext):
update.message.reply_text("Journal mode off") await update.message.reply_text("Journal mode off")
return ConversationHandler.END return ConversationHandler.END
def invalid_handler(self, update: Update, context: CallbackContext): async def invalid_handler(self, update: Update, context: CallbackContext):
update.message.reply_text("Sorry, I don't understand. Please upload photos or type 'Done' to exit") await update.message.reply_text("Sorry, I don't understand. Please upload photos or type 'Done' to exit")
def register(self, updater: Updater): def register(self, application: Application):
updater.dispatcher.add_handler(ConversationHandler( application.add_handler(ConversationHandler(
entry_points=[ entry_points=[
CommandHandler("journal", self.init_convo) CommandHandler("journal", self.init_convo)
], ],
states={ states={
ADDING: [ ADDING: [
MessageHandler(Filters.attachment, self.handle_file), MessageHandler(filters.ATTACHMENT, self.handle_file),
MessageHandler(Filters.regex("^Done$"), self.done_handler), MessageHandler(filters.Regex("^Done$"), self.done_handler),
MessageHandler(Filters.all, self.handle_md_update), MessageHandler(filters.ALL, self.handle_md_update),
] ]
}, },
fallbacks=[ fallbacks=[
MessageHandler(Filters.regex("^Done$"), self.done_handler), MessageHandler(filters.Regex("^Done$"), self.done_handler),
] ]
)) ))