mirror of
https://github.com/python-telegram-bot/python-telegram-bot.git
synced 2024-11-21 22:56:38 +01:00
Add Version Check to Examples (#3036)
This commit is contained in:
parent
5e924014de
commit
3013870c1f
21 changed files with 257 additions and 41 deletions
16
.github/workflows/example_notifier.yml
vendored
16
.github/workflows/example_notifier.yml
vendored
|
@ -1,16 +0,0 @@
|
||||||
name: Warning maintainers
|
|
||||||
on:
|
|
||||||
pull_request_target:
|
|
||||||
paths: examples/**
|
|
||||||
permissions:
|
|
||||||
pull-requests: write
|
|
||||||
jobs:
|
|
||||||
job:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
name: about example change
|
|
||||||
steps:
|
|
||||||
- name: running the check
|
|
||||||
uses: Poolitzer/notifier-action@master
|
|
||||||
with:
|
|
||||||
notify-message: Hey there. Relax, I am just a little warning for the maintainers to release directly after merging your PR, otherwise we have broken examples and people might get confused :)
|
|
||||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
@ -1,4 +1,5 @@
|
||||||
# Examples
|
# Examples
|
||||||
|
## ⚠️ The examples in this directory are subject to changes and may not work on the PTB version that you are using. You can find the examples compatible with a specific version at https://github.com/python-telegram-bot/python-telegram-bot/tree/v<X.Y>/examples
|
||||||
|
|
||||||
In this folder are small examples to show what a bot written with `python-telegram-bot` looks like. Some bots focus on one specific aspect of the Telegram Bot API while others focus on one of the mechanics of this library. Except for the [`rawapibot.py`](#pure-api) example, they all use the high-level framework this library provides with the [`telegram.ext`](https://python-telegram-bot.readthedocs.io/en/latest/telegram.ext.html) submodule.
|
In this folder are small examples to show what a bot written with `python-telegram-bot` looks like. Some bots focus on one specific aspect of the Telegram Bot API while others focus on one of the mechanics of this library. Except for the [`rawapibot.py`](#pure-api) example, they all use the high-level framework this library provides with the [`telegram.ext`](https://python-telegram-bot.readthedocs.io/en/latest/telegram.ext.html) submodule.
|
||||||
|
|
||||||
|
@ -6,10 +7,10 @@ All examples are licensed under the [CC0 License](https://github.com/python-tele
|
||||||
|
|
||||||
Do note that we ignore one pythonic convention. Best practice would dictate, in many handler callbacks function signatures, to replace the argument `context` with an underscore, since `context` is an unused local variable in those callbacks. However, since these are examples and not having a name for that argument confuses beginners, we decided to have it present.
|
Do note that we ignore one pythonic convention. Best practice would dictate, in many handler callbacks function signatures, to replace the argument `context` with an underscore, since `context` is an unused local variable in those callbacks. However, since these are examples and not having a name for that argument confuses beginners, we decided to have it present.
|
||||||
|
|
||||||
### [`echobot.py`](https://github.com/python-telegram-bot/python-telegram-bot/blob/master/examples/echobot.py)
|
### [`echobot.py`](https://github.com/python-telegram-bot/python-telegram-bot/blob/master/examples/echobot.py)
|
||||||
This is probably the base for most of the bots made with `python-telegram-bot`. It simply replies to each text message with a message that contains the same text.
|
This is probably the base for most of the bots made with `python-telegram-bot`. It simply replies to each text message with a message that contains the same text.
|
||||||
|
|
||||||
### [`timerbot.py`](https://github.com/python-telegram-bot/python-telegram-bot/blob/master/examples/timerbot.py)
|
### [`timerbot.py`](https://github.com/python-telegram-bot/python-telegram-bot/blob/master/examples/timerbot.py)
|
||||||
This bot uses the [`JobQueue`](https://python-telegram-bot.readthedocs.io/en/latest/telegram.ext.jobqueue.html) class to send timed messages. The user sets a timer by using `/set` command with a specific time, for example `/set 30`. The bot then sets up a job to send a message to that user after 30 seconds. The user can also cancel the timer by sending `/unset`. To learn more about the `JobQueue`, read [this wiki article](https://github.com/python-telegram-bot/python-telegram-bot/wiki/Extensions-%E2%80%93-JobQueue).
|
This bot uses the [`JobQueue`](https://python-telegram-bot.readthedocs.io/en/latest/telegram.ext.jobqueue.html) class to send timed messages. The user sets a timer by using `/set` command with a specific time, for example `/set 30`. The bot then sets up a job to send a message to that user after 30 seconds. The user can also cancel the timer by sending `/unset`. To learn more about the `JobQueue`, read [this wiki article](https://github.com/python-telegram-bot/python-telegram-bot/wiki/Extensions-%E2%80%93-JobQueue).
|
||||||
|
|
||||||
### [`conversationbot.py`](https://github.com/python-telegram-bot/python-telegram-bot/blob/master/examples/conversationbot.py)
|
### [`conversationbot.py`](https://github.com/python-telegram-bot/python-telegram-bot/blob/master/examples/conversationbot.py)
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# pylint: disable=unused-argument
|
# pylint: disable=unused-argument, wrong-import-position
|
||||||
# This program is dedicated to the public domain under the CC0 license.
|
# This program is dedicated to the public domain under the CC0 license.
|
||||||
|
|
||||||
"""This example showcases how PTBs "arbitrary callback data" feature can be used.
|
"""This example showcases how PTBs "arbitrary callback data" feature can be used.
|
||||||
|
@ -10,6 +10,19 @@ https://github.com/python-telegram-bot/python-telegram-bot/wiki/Arbitrary-callba
|
||||||
import logging
|
import logging
|
||||||
from typing import List, Tuple, cast
|
from typing import List, Tuple, cast
|
||||||
|
|
||||||
|
from telegram import __version__ as TG_VER
|
||||||
|
|
||||||
|
try:
|
||||||
|
from telegram import __version_info__
|
||||||
|
except ImportError:
|
||||||
|
__version_info__ = (0, 0, 0, 0, 0) # type: ignore[assignment]
|
||||||
|
|
||||||
|
if __version_info__ < (20, 0, 0, "alpha", 1):
|
||||||
|
raise RuntimeError(
|
||||||
|
f"This example is not compatible with your current PTB version {TG_VER}. To view the "
|
||||||
|
f"{TG_VER} version of this example, "
|
||||||
|
f"visit https://github.com/python-telegram-bot/python-telegram-bot/tree/v{TG_VER}/examples"
|
||||||
|
)
|
||||||
from telegram import InlineKeyboardButton, InlineKeyboardMarkup, Update
|
from telegram import InlineKeyboardButton, InlineKeyboardMarkup, Update
|
||||||
from telegram.ext import (
|
from telegram.ext import (
|
||||||
Application,
|
Application,
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# pylint: disable=unused-argument
|
# pylint: disable=unused-argument, wrong-import-position
|
||||||
# This program is dedicated to the public domain under the CC0 license.
|
# This program is dedicated to the public domain under the CC0 license.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
@ -14,6 +14,19 @@ bot.
|
||||||
import logging
|
import logging
|
||||||
from typing import Optional, Tuple
|
from typing import Optional, Tuple
|
||||||
|
|
||||||
|
from telegram import __version__ as TG_VER
|
||||||
|
|
||||||
|
try:
|
||||||
|
from telegram import __version_info__
|
||||||
|
except ImportError:
|
||||||
|
__version_info__ = (0, 0, 0, 0, 0) # type: ignore[assignment]
|
||||||
|
|
||||||
|
if __version_info__ < (20, 0, 0, "alpha", 1):
|
||||||
|
raise RuntimeError(
|
||||||
|
f"This example is not compatible with your current PTB version {TG_VER}. To view the "
|
||||||
|
f"{TG_VER} version of this example, "
|
||||||
|
f"visit https://github.com/python-telegram-bot/python-telegram-bot/tree/v{TG_VER}/examples"
|
||||||
|
)
|
||||||
from telegram import Chat, ChatMember, ChatMemberUpdated, Update
|
from telegram import Chat, ChatMember, ChatMemberUpdated, Update
|
||||||
from telegram.constants import ParseMode
|
from telegram.constants import ParseMode
|
||||||
from telegram.ext import Application, ChatMemberHandler, CommandHandler, ContextTypes
|
from telegram.ext import Application, ChatMemberHandler, CommandHandler, ContextTypes
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# pylint: disable=unused-argument
|
# pylint: disable=unused-argument, wrong-import-position
|
||||||
# This program is dedicated to the public domain under the CC0 license.
|
# This program is dedicated to the public domain under the CC0 license.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
@ -14,6 +14,19 @@ import logging
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
from typing import DefaultDict, Optional, Set
|
from typing import DefaultDict, Optional, Set
|
||||||
|
|
||||||
|
from telegram import __version__ as TG_VER
|
||||||
|
|
||||||
|
try:
|
||||||
|
from telegram import __version_info__
|
||||||
|
except ImportError:
|
||||||
|
__version_info__ = (0, 0, 0, 0, 0) # type: ignore[assignment]
|
||||||
|
|
||||||
|
if __version_info__ < (20, 0, 0, "alpha", 1):
|
||||||
|
raise RuntimeError(
|
||||||
|
f"This example is not compatible with your current PTB version {TG_VER}. To view the "
|
||||||
|
f"{TG_VER} version of this example, "
|
||||||
|
f"visit https://github.com/python-telegram-bot/python-telegram-bot/tree/v{TG_VER}/examples"
|
||||||
|
)
|
||||||
from telegram import InlineKeyboardButton, InlineKeyboardMarkup, Update
|
from telegram import InlineKeyboardButton, InlineKeyboardMarkup, Update
|
||||||
from telegram.constants import ParseMode
|
from telegram.constants import ParseMode
|
||||||
from telegram.ext import (
|
from telegram.ext import (
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# pylint: disable=unused-argument
|
# pylint: disable=unused-argument, wrong-import-position
|
||||||
# This program is dedicated to the public domain under the CC0 license.
|
# This program is dedicated to the public domain under the CC0 license.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
@ -16,6 +16,19 @@ bot.
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
from telegram import __version__ as TG_VER
|
||||||
|
|
||||||
|
try:
|
||||||
|
from telegram import __version_info__
|
||||||
|
except ImportError:
|
||||||
|
__version_info__ = (0, 0, 0, 0, 0) # type: ignore[assignment]
|
||||||
|
|
||||||
|
if __version_info__ < (20, 0, 0, "alpha", 1):
|
||||||
|
raise RuntimeError(
|
||||||
|
f"This example is not compatible with your current PTB version {TG_VER}. To view the "
|
||||||
|
f"{TG_VER} version of this example, "
|
||||||
|
f"visit https://github.com/python-telegram-bot/python-telegram-bot/tree/v{TG_VER}/examples"
|
||||||
|
)
|
||||||
from telegram import ReplyKeyboardMarkup, ReplyKeyboardRemove, Update
|
from telegram import ReplyKeyboardMarkup, ReplyKeyboardRemove, Update
|
||||||
from telegram.ext import (
|
from telegram.ext import (
|
||||||
Application,
|
Application,
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# pylint: disable=unused-argument
|
# pylint: disable=unused-argument, wrong-import-position
|
||||||
# This program is dedicated to the public domain under the CC0 license.
|
# This program is dedicated to the public domain under the CC0 license.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
@ -17,6 +17,19 @@ bot.
|
||||||
import logging
|
import logging
|
||||||
from typing import Dict
|
from typing import Dict
|
||||||
|
|
||||||
|
from telegram import __version__ as TG_VER
|
||||||
|
|
||||||
|
try:
|
||||||
|
from telegram import __version_info__
|
||||||
|
except ImportError:
|
||||||
|
__version_info__ = (0, 0, 0, 0, 0) # type: ignore[assignment]
|
||||||
|
|
||||||
|
if __version_info__ < (20, 0, 0, "alpha", 1):
|
||||||
|
raise RuntimeError(
|
||||||
|
f"This example is not compatible with your current PTB version {TG_VER}. To view the "
|
||||||
|
f"{TG_VER} version of this example, "
|
||||||
|
f"visit https://github.com/python-telegram-bot/python-telegram-bot/tree/v{TG_VER}/examples"
|
||||||
|
)
|
||||||
from telegram import ReplyKeyboardMarkup, ReplyKeyboardRemove, Update
|
from telegram import ReplyKeyboardMarkup, ReplyKeyboardRemove, Update
|
||||||
from telegram.ext import (
|
from telegram.ext import (
|
||||||
Application,
|
Application,
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# pylint: disable=unused-argument
|
# pylint: disable=unused-argument, wrong-import-position
|
||||||
# This program is dedicated to the public domain under the CC0 license.
|
# This program is dedicated to the public domain under the CC0 license.
|
||||||
|
|
||||||
"""Bot that explains Telegram's "Deep Linking Parameters" functionality.
|
"""Bot that explains Telegram's "Deep Linking Parameters" functionality.
|
||||||
|
@ -20,6 +20,19 @@ bot.
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
from telegram import __version__ as TG_VER
|
||||||
|
|
||||||
|
try:
|
||||||
|
from telegram import __version_info__
|
||||||
|
except ImportError:
|
||||||
|
__version_info__ = (0, 0, 0, 0, 0) # type: ignore[assignment]
|
||||||
|
|
||||||
|
if __version_info__ < (20, 0, 0, "alpha", 1):
|
||||||
|
raise RuntimeError(
|
||||||
|
f"This example is not compatible with your current PTB version {TG_VER}. To view the "
|
||||||
|
f"{TG_VER} version of this example, "
|
||||||
|
f"visit https://github.com/python-telegram-bot/python-telegram-bot/tree/v{TG_VER}/examples"
|
||||||
|
)
|
||||||
from telegram import InlineKeyboardButton, InlineKeyboardMarkup, Update, helpers
|
from telegram import InlineKeyboardButton, InlineKeyboardMarkup, Update, helpers
|
||||||
from telegram.constants import ParseMode
|
from telegram.constants import ParseMode
|
||||||
from telegram.ext import Application, CallbackQueryHandler, CommandHandler, ContextTypes, filters
|
from telegram.ext import Application, CallbackQueryHandler, CommandHandler, ContextTypes, filters
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# pylint: disable=unused-argument
|
# pylint: disable=unused-argument, wrong-import-position
|
||||||
# This program is dedicated to the public domain under the CC0 license.
|
# This program is dedicated to the public domain under the CC0 license.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
@ -17,6 +17,19 @@ bot.
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
from telegram import __version__ as TG_VER
|
||||||
|
|
||||||
|
try:
|
||||||
|
from telegram import __version_info__
|
||||||
|
except ImportError:
|
||||||
|
__version_info__ = (0, 0, 0, 0, 0) # type: ignore[assignment]
|
||||||
|
|
||||||
|
if __version_info__ < (20, 0, 0, "alpha", 1):
|
||||||
|
raise RuntimeError(
|
||||||
|
f"This example is not compatible with your current PTB version {TG_VER}. To view the "
|
||||||
|
f"{TG_VER} version of this example, "
|
||||||
|
f"visit https://github.com/python-telegram-bot/python-telegram-bot/tree/v{TG_VER}/examples"
|
||||||
|
)
|
||||||
from telegram import ForceReply, Update
|
from telegram import ForceReply, Update
|
||||||
from telegram.ext import Application, CommandHandler, ContextTypes, MessageHandler, filters
|
from telegram.ext import Application, CommandHandler, ContextTypes, MessageHandler, filters
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# pylint: disable=unused-argument
|
# pylint: disable=unused-argument, wrong-import-position
|
||||||
# This program is dedicated to the public domain under the CC0 license.
|
# This program is dedicated to the public domain under the CC0 license.
|
||||||
|
|
||||||
"""This is a very simple example on how one could implement a custom error handler."""
|
"""This is a very simple example on how one could implement a custom error handler."""
|
||||||
|
@ -8,6 +8,19 @@ import json
|
||||||
import logging
|
import logging
|
||||||
import traceback
|
import traceback
|
||||||
|
|
||||||
|
from telegram import __version__ as TG_VER
|
||||||
|
|
||||||
|
try:
|
||||||
|
from telegram import __version_info__
|
||||||
|
except ImportError:
|
||||||
|
__version_info__ = (0, 0, 0, 0, 0) # type: ignore[assignment]
|
||||||
|
|
||||||
|
if __version_info__ < (20, 0, 0, "alpha", 1):
|
||||||
|
raise RuntimeError(
|
||||||
|
f"This example is not compatible with your current PTB version {TG_VER}. To view the "
|
||||||
|
f"{TG_VER} version of this example, "
|
||||||
|
f"visit https://github.com/python-telegram-bot/python-telegram-bot/tree/v{TG_VER}/examples"
|
||||||
|
)
|
||||||
from telegram import Update
|
from telegram import Update
|
||||||
from telegram.constants import ParseMode
|
from telegram.constants import ParseMode
|
||||||
from telegram.ext import Application, CommandHandler, ContextTypes
|
from telegram.ext import Application, CommandHandler, ContextTypes
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# pylint: disable=unused-argument
|
# pylint: disable=unused-argument, wrong-import-position
|
||||||
# This program is dedicated to the public domain under the CC0 license.
|
# This program is dedicated to the public domain under the CC0 license.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
@ -16,6 +16,19 @@ import logging
|
||||||
from html import escape
|
from html import escape
|
||||||
from uuid import uuid4
|
from uuid import uuid4
|
||||||
|
|
||||||
|
from telegram import __version__ as TG_VER
|
||||||
|
|
||||||
|
try:
|
||||||
|
from telegram import __version_info__
|
||||||
|
except ImportError:
|
||||||
|
__version_info__ = (0, 0, 0, 0, 0) # type: ignore[assignment]
|
||||||
|
|
||||||
|
if __version_info__ < (20, 0, 0, "alpha", 1):
|
||||||
|
raise RuntimeError(
|
||||||
|
f"This example is not compatible with your current PTB version {TG_VER}. To view the "
|
||||||
|
f"{TG_VER} version of this example, "
|
||||||
|
f"visit https://github.com/python-telegram-bot/python-telegram-bot/tree/v{TG_VER}/examples"
|
||||||
|
)
|
||||||
from telegram import InlineQueryResultArticle, InputTextMessageContent, Update
|
from telegram import InlineQueryResultArticle, InputTextMessageContent, Update
|
||||||
from telegram.constants import ParseMode
|
from telegram.constants import ParseMode
|
||||||
from telegram.ext import Application, CommandHandler, ContextTypes, InlineQueryHandler
|
from telegram.ext import Application, CommandHandler, ContextTypes, InlineQueryHandler
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# pylint: disable=unused-argument
|
# pylint: disable=unused-argument, wrong-import-position
|
||||||
# This program is dedicated to the public domain under the CC0 license.
|
# This program is dedicated to the public domain under the CC0 license.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
@ -8,6 +8,19 @@ Basic example for a bot that uses inline keyboards. For an in-depth explanation,
|
||||||
"""
|
"""
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
from telegram import __version__ as TG_VER
|
||||||
|
|
||||||
|
try:
|
||||||
|
from telegram import __version_info__
|
||||||
|
except ImportError:
|
||||||
|
__version_info__ = (0, 0, 0, 0, 0) # type: ignore[assignment]
|
||||||
|
|
||||||
|
if __version_info__ < (20, 0, 0, "alpha", 1):
|
||||||
|
raise RuntimeError(
|
||||||
|
f"This example is not compatible with your current PTB version {TG_VER}. To view the "
|
||||||
|
f"{TG_VER} version of this example, "
|
||||||
|
f"visit https://github.com/python-telegram-bot/python-telegram-bot/tree/v{TG_VER}/examples"
|
||||||
|
)
|
||||||
from telegram import InlineKeyboardButton, InlineKeyboardMarkup, Update
|
from telegram import InlineKeyboardButton, InlineKeyboardMarkup, Update
|
||||||
from telegram.ext import Application, CallbackQueryHandler, CommandHandler, ContextTypes
|
from telegram.ext import Application, CallbackQueryHandler, CommandHandler, ContextTypes
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# pylint: disable=unused-argument
|
# pylint: disable=unused-argument, wrong-import-position
|
||||||
# This program is dedicated to the public domain under the CC0 license.
|
# This program is dedicated to the public domain under the CC0 license.
|
||||||
|
|
||||||
"""Simple inline keyboard bot with multiple CallbackQueryHandlers.
|
"""Simple inline keyboard bot with multiple CallbackQueryHandlers.
|
||||||
|
@ -16,6 +16,19 @@ Press Ctrl-C on the command line to stop the bot.
|
||||||
"""
|
"""
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
from telegram import __version__ as TG_VER
|
||||||
|
|
||||||
|
try:
|
||||||
|
from telegram import __version_info__
|
||||||
|
except ImportError:
|
||||||
|
__version_info__ = (0, 0, 0, 0, 0) # type: ignore[assignment]
|
||||||
|
|
||||||
|
if __version_info__ < (20, 0, 0, "alpha", 1):
|
||||||
|
raise RuntimeError(
|
||||||
|
f"This example is not compatible with your current PTB version {TG_VER}. To view the "
|
||||||
|
f"{TG_VER} version of this example, "
|
||||||
|
f"visit https://github.com/python-telegram-bot/python-telegram-bot/tree/v{TG_VER}/examples"
|
||||||
|
)
|
||||||
from telegram import InlineKeyboardButton, InlineKeyboardMarkup, Update
|
from telegram import InlineKeyboardButton, InlineKeyboardMarkup, Update
|
||||||
from telegram.ext import (
|
from telegram.ext import (
|
||||||
Application,
|
Application,
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# pylint: disable=unused-argument
|
# pylint: disable=unused-argument, wrong-import-position
|
||||||
# This program is dedicated to the public domain under the CC0 license.
|
# This program is dedicated to the public domain under the CC0 license.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
@ -17,6 +17,19 @@ bot.
|
||||||
import logging
|
import logging
|
||||||
from typing import Any, Dict, Tuple
|
from typing import Any, Dict, Tuple
|
||||||
|
|
||||||
|
from telegram import __version__ as TG_VER
|
||||||
|
|
||||||
|
try:
|
||||||
|
from telegram import __version_info__
|
||||||
|
except ImportError:
|
||||||
|
__version_info__ = (0, 0, 0, 0, 0) # type: ignore[assignment]
|
||||||
|
|
||||||
|
if __version_info__ < (20, 0, 0, "alpha", 1):
|
||||||
|
raise RuntimeError(
|
||||||
|
f"This example is not compatible with your current PTB version {TG_VER}. To view the "
|
||||||
|
f"{TG_VER} version of this example, "
|
||||||
|
f"visit https://github.com/python-telegram-bot/python-telegram-bot/tree/v{TG_VER}/examples"
|
||||||
|
)
|
||||||
from telegram import InlineKeyboardButton, InlineKeyboardMarkup, Update
|
from telegram import InlineKeyboardButton, InlineKeyboardMarkup, Update
|
||||||
from telegram.ext import (
|
from telegram.ext import (
|
||||||
Application,
|
Application,
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# pylint: disable=unused-argument
|
# pylint: disable=unused-argument, wrong-import-position
|
||||||
# This program is dedicated to the public domain under the CC0 license.
|
# This program is dedicated to the public domain under the CC0 license.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
@ -14,6 +14,19 @@ See https://github.com/python-telegram-bot/python-telegram-bot/wiki/Telegram-Pas
|
||||||
import logging
|
import logging
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
|
from telegram import __version__ as TG_VER
|
||||||
|
|
||||||
|
try:
|
||||||
|
from telegram import __version_info__
|
||||||
|
except ImportError:
|
||||||
|
__version_info__ = (0, 0, 0, 0, 0) # type: ignore[assignment]
|
||||||
|
|
||||||
|
if __version_info__ < (20, 0, 0, "alpha", 1):
|
||||||
|
raise RuntimeError(
|
||||||
|
f"This example is not compatible with your current PTB version {TG_VER}. To view the "
|
||||||
|
f"{TG_VER} version of this example, "
|
||||||
|
f"visit https://github.com/python-telegram-bot/python-telegram-bot/tree/v{TG_VER}/examples"
|
||||||
|
)
|
||||||
from telegram import Update
|
from telegram import Update
|
||||||
from telegram.ext import Application, ContextTypes, MessageHandler, filters
|
from telegram.ext import Application, ContextTypes, MessageHandler, filters
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,24 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# pylint: disable=unused-argument
|
# pylint: disable=unused-argument, wrong-import-position
|
||||||
# This program is dedicated to the public domain under the CC0 license.
|
# This program is dedicated to the public domain under the CC0 license.
|
||||||
|
|
||||||
"""Basic example for a bot that can receive payment from user."""
|
"""Basic example for a bot that can receive payment from user."""
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
from telegram import __version__ as TG_VER
|
||||||
|
|
||||||
|
try:
|
||||||
|
from telegram import __version_info__
|
||||||
|
except ImportError:
|
||||||
|
__version_info__ = (0, 0, 0, 0, 0) # type: ignore[assignment]
|
||||||
|
|
||||||
|
if __version_info__ < (20, 0, 0, "alpha", 1):
|
||||||
|
raise RuntimeError(
|
||||||
|
f"This example is not compatible with your current PTB version {TG_VER}. To view the "
|
||||||
|
f"{TG_VER} version of this example, "
|
||||||
|
f"visit https://github.com/python-telegram-bot/python-telegram-bot/tree/v{TG_VER}/examples"
|
||||||
|
)
|
||||||
from telegram import LabeledPrice, ShippingOption, Update
|
from telegram import LabeledPrice, ShippingOption, Update
|
||||||
from telegram.ext import (
|
from telegram.ext import (
|
||||||
Application,
|
Application,
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# pylint: disable=unused-argument
|
# pylint: disable=unused-argument, wrong-import-position
|
||||||
# This program is dedicated to the public domain under the CC0 license.
|
# This program is dedicated to the public domain under the CC0 license.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
@ -17,6 +17,19 @@ bot.
|
||||||
import logging
|
import logging
|
||||||
from typing import Dict
|
from typing import Dict
|
||||||
|
|
||||||
|
from telegram import __version__ as TG_VER
|
||||||
|
|
||||||
|
try:
|
||||||
|
from telegram import __version_info__
|
||||||
|
except ImportError:
|
||||||
|
__version_info__ = (0, 0, 0, 0, 0) # type: ignore[assignment]
|
||||||
|
|
||||||
|
if __version_info__ < (20, 0, 0, "alpha", 1):
|
||||||
|
raise RuntimeError(
|
||||||
|
f"This example is not compatible with your current PTB version {TG_VER}. To view the "
|
||||||
|
f"{TG_VER} version of this example, "
|
||||||
|
f"visit https://github.com/python-telegram-bot/python-telegram-bot/tree/v{TG_VER}/examples"
|
||||||
|
)
|
||||||
from telegram import ReplyKeyboardMarkup, ReplyKeyboardRemove, Update
|
from telegram import ReplyKeyboardMarkup, ReplyKeyboardRemove, Update
|
||||||
from telegram.ext import (
|
from telegram.ext import (
|
||||||
Application,
|
Application,
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# pylint: disable=unused-argument
|
# pylint: disable=unused-argument, wrong-import-position
|
||||||
# This program is dedicated to the public domain under the CC0 license.
|
# This program is dedicated to the public domain under the CC0 license.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
@ -9,6 +9,19 @@ one the user sends the bot
|
||||||
"""
|
"""
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
from telegram import __version__ as TG_VER
|
||||||
|
|
||||||
|
try:
|
||||||
|
from telegram import __version_info__
|
||||||
|
except ImportError:
|
||||||
|
__version_info__ = (0, 0, 0, 0, 0) # type: ignore[assignment]
|
||||||
|
|
||||||
|
if __version_info__ < (20, 0, 0, "alpha", 1):
|
||||||
|
raise RuntimeError(
|
||||||
|
f"This example is not compatible with your current PTB version {TG_VER}. To view the "
|
||||||
|
f"{TG_VER} version of this example, "
|
||||||
|
f"visit https://github.com/python-telegram-bot/python-telegram-bot/tree/v{TG_VER}/examples"
|
||||||
|
)
|
||||||
from telegram import (
|
from telegram import (
|
||||||
KeyboardButton,
|
KeyboardButton,
|
||||||
KeyboardButtonPollType,
|
KeyboardButtonPollType,
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
|
# pylint: disable=wrong-import-position
|
||||||
"""Simple Bot to reply to Telegram messages.
|
"""Simple Bot to reply to Telegram messages.
|
||||||
|
|
||||||
This is built on the API wrapper, see echobot.py to see the same example built
|
This is built on the API wrapper, see echobot.py to see the same example built
|
||||||
|
@ -9,6 +10,19 @@ import asyncio
|
||||||
import logging
|
import logging
|
||||||
from typing import NoReturn
|
from typing import NoReturn
|
||||||
|
|
||||||
|
from telegram import __version__ as TG_VER
|
||||||
|
|
||||||
|
try:
|
||||||
|
from telegram import __version_info__
|
||||||
|
except ImportError:
|
||||||
|
__version_info__ = (0, 0, 0, 0, 0) # type: ignore[assignment] # type: ignore[assignment]
|
||||||
|
|
||||||
|
if __version_info__ < (20, 0, 0, "alpha", 1):
|
||||||
|
raise RuntimeError(
|
||||||
|
f"This example is not compatible with your current PTB version {TG_VER}. To view the "
|
||||||
|
f"{TG_VER} version of this example, "
|
||||||
|
f"visit https://github.com/python-telegram-bot/python-telegram-bot/tree/v{TG_VER}/examples"
|
||||||
|
)
|
||||||
from telegram import Bot
|
from telegram import Bot
|
||||||
from telegram.error import Forbidden, NetworkError
|
from telegram.error import Forbidden, NetworkError
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# pylint: disable=unused-argument
|
# pylint: disable=unused-argument, wrong-import-position
|
||||||
# This program is dedicated to the public domain under the CC0 license.
|
# This program is dedicated to the public domain under the CC0 license.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
@ -20,6 +20,19 @@ bot.
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
from telegram import __version__ as TG_VER
|
||||||
|
|
||||||
|
try:
|
||||||
|
from telegram import __version_info__
|
||||||
|
except ImportError:
|
||||||
|
__version_info__ = (0, 0, 0, 0, 0) # type: ignore[assignment]
|
||||||
|
|
||||||
|
if __version_info__ < (20, 0, 0, "alpha", 1):
|
||||||
|
raise RuntimeError(
|
||||||
|
f"This example is not compatible with your current PTB version {TG_VER}. To view the "
|
||||||
|
f"{TG_VER} version of this example, "
|
||||||
|
f"visit https://github.com/python-telegram-bot/python-telegram-bot/tree/v{TG_VER}/examples"
|
||||||
|
)
|
||||||
from telegram import Update
|
from telegram import Update
|
||||||
from telegram.ext import Application, CommandHandler, ContextTypes
|
from telegram.ext import Application, CommandHandler, ContextTypes
|
||||||
|
|
||||||
|
|
|
@ -2292,9 +2292,7 @@ class Bot(TelegramObject, AbstractAsyncContextManager):
|
||||||
"Either venue or latitude, longitude, address and title must be "
|
"Either venue or latitude, longitude, address and title must be "
|
||||||
"passed as arguments."
|
"passed as arguments."
|
||||||
)
|
)
|
||||||
if not (
|
if not bool(venue) ^ any([latitude, longitude, address, title]):
|
||||||
bool(venue) ^ any([latitude, longitude, address, title])
|
|
||||||
): # pylint: disable=superfluous-parens
|
|
||||||
raise ValueError(
|
raise ValueError(
|
||||||
"Either venue or latitude, longitude, address and title must be "
|
"Either venue or latitude, longitude, address and title must be "
|
||||||
"passed as arguments. Not both."
|
"passed as arguments. Not both."
|
||||||
|
@ -2421,9 +2419,7 @@ class Bot(TelegramObject, AbstractAsyncContextManager):
|
||||||
raise ValueError(
|
raise ValueError(
|
||||||
"Either contact or phone_number and first_name must be passed as arguments."
|
"Either contact or phone_number and first_name must be passed as arguments."
|
||||||
)
|
)
|
||||||
if not (
|
if not bool(contact) ^ any([phone_number, first_name]):
|
||||||
bool(contact) ^ any([phone_number, first_name])
|
|
||||||
): # pylint: disable=superfluous-parens
|
|
||||||
raise ValueError(
|
raise ValueError(
|
||||||
"Either contact or phone_number and first_name must be passed as arguments. "
|
"Either contact or phone_number and first_name must be passed as arguments. "
|
||||||
"Not both."
|
"Not both."
|
||||||
|
|
Loading…
Reference in a new issue