add buttons from keyboard
This commit is contained in:
parent
9c1ac6e0bb
commit
a30b25e9f5
20
README.md
20
README.md
@ -518,3 +518,23 @@ async def reply_builder(message: types.Message):
|
|||||||
|
|
||||||
**Запуск веб-приложения (WebApp)**. При нажатии на кнопку открывает WebApp. Необходимо передать объект WebAppInfo. В этой книге веб-аппы пока рассматриваться не будут.
|
**Запуск веб-приложения (WebApp)**. При нажатии на кнопку открывает WebApp. Необходимо передать объект WebAppInfo. В этой книге веб-аппы пока рассматриваться не будут.
|
||||||
|
|
||||||
|
две заготовки хэндлеров на приём нажатий от нижних двух кнопок:
|
||||||
|
```py
|
||||||
|
# новый импорт
|
||||||
|
from aiogram import F
|
||||||
|
|
||||||
|
@dp.message(F.user_shared)
|
||||||
|
async def on_user_shared(message: types.Message):
|
||||||
|
print(
|
||||||
|
f"Request {message.user_shared.request_id}. "
|
||||||
|
f"User ID: {message.user_shared.user_id}"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@dp.message(F.chat_shared)
|
||||||
|
async def on_user_shared(message: types.Message):
|
||||||
|
print(
|
||||||
|
f"Request {message.chat_shared.request_id}. "
|
||||||
|
f"User ID: {message.chat_shared.chat_id}"
|
||||||
|
)
|
||||||
|
```
|
||||||
|
52
bot.py
52
bot.py
@ -197,29 +197,10 @@ async def echo_with_time(message: Message):
|
|||||||
# Отправляем новое сообщение с добавленным текстом
|
# Отправляем новое сообщение с добавленным текстом
|
||||||
await message.answer(f"{message.html_text}\n\n{not_anderstand}!!! Я не понимаю эту команду :(\nДля получения списка известных мне команд напиши /start \n{added_text}", parse_mode="HTML")
|
await message.answer(f"{message.html_text}\n\n{not_anderstand}!!! Я не понимаю эту команду :(\nДля получения списка известных мне команд напиши /start \n{added_text}", parse_mode="HTML")
|
||||||
|
|
||||||
# Извлекаем из сообщений пользователя данные url, email, телефон и код
|
@dp.message(F.text.lower() == "круто")
|
||||||
#@dp.message(F.text)
|
async def without_puree(message: types.Message):
|
||||||
async def extract_data(message: Message):
|
await message.reply("Соглашусь, это круто!")
|
||||||
data = {
|
|
||||||
"url": "<N/A>",
|
|
||||||
"email": "<N/A>",
|
|
||||||
"phone_number": "<N/A>",
|
|
||||||
# "code": "<N/A>"
|
|
||||||
}
|
|
||||||
entities = message.entities or []
|
|
||||||
for item in entities:
|
|
||||||
if item.type in data.keys():
|
|
||||||
# Неправильно
|
|
||||||
# data[item.type] = message.text[item.offset : item.offset+item.length]
|
|
||||||
# Правильно
|
|
||||||
data[item.type] = item.extract_from(message.text)
|
|
||||||
await message.reply(
|
|
||||||
"Вот что я нашёл:\n"
|
|
||||||
f"URL: {html.quote(data['url'])}\n"
|
|
||||||
f"E-mail: {html.quote(data['email'])}\n"
|
|
||||||
f"Телефон: {html.quote(data['phone_number'])}\n"
|
|
||||||
# f"Пароль: {html.quote(data['code'])}"
|
|
||||||
)
|
|
||||||
|
|
||||||
@dp.message(Command("settimer", prefix="/!")) # добавим дополнительные префиксы для оперделения команды
|
@dp.message(Command("settimer", prefix="/!")) # добавим дополнительные префиксы для оперделения команды
|
||||||
async def cmd_settimer(
|
async def cmd_settimer(
|
||||||
@ -431,6 +412,31 @@ async def send_gif(message: Message):
|
|||||||
show_caption_above_media=True
|
show_caption_above_media=True
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Извлекаем из сообщений пользователя данные url, email, телефон и код
|
||||||
|
@dp.message(F.text)
|
||||||
|
async def extract_data(message: Message):
|
||||||
|
data = {
|
||||||
|
"url": "<N/A>",
|
||||||
|
"email": "<N/A>",
|
||||||
|
"phone_number": "<N/A>",
|
||||||
|
# "code": "<N/A>"
|
||||||
|
}
|
||||||
|
entities = message.entities or []
|
||||||
|
for item in entities:
|
||||||
|
if item.type in data.keys():
|
||||||
|
# Неправильно
|
||||||
|
# data[item.type] = message.text[item.offset : item.offset+item.length]
|
||||||
|
# Правильно
|
||||||
|
data[item.type] = item.extract_from(message.text)
|
||||||
|
await message.reply(
|
||||||
|
"Вот что я нашёл:\n"
|
||||||
|
f"URL: {html.quote(data['url'])}\n"
|
||||||
|
f"E-mail: {html.quote(data['email'])}\n"
|
||||||
|
f"Телефон: {html.quote(data['phone_number'])}\n"
|
||||||
|
# f"Пароль: {html.quote(data['code'])}"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
# Запуск процесса поллинга новых апдейтов
|
# Запуск процесса поллинга новых апдейтов
|
||||||
async def main():
|
async def main():
|
||||||
# Регистрируем хэндлер cmd_test2 по команде /start
|
# Регистрируем хэндлер cmd_test2 по команде /start
|
||||||
|
Loading…
x
Reference in New Issue
Block a user