Домашняя
Об авторе
Контакты
Статьи
Инструменты
RU
EN
Пример inline телеграм бота
10.01.2025
10.01.2025
26
0
0
0
0
Телеграм бот
Описание
Тут ты найдёшь файлы примера инлайн телеграм бота и всё о его внутреннем устройстве.
Опробовать данного бота можно по ссылке
@joker_gut_bot
Функционал
Поддерживаемые команды:
/help -
выводит помощь с командами
/startapp -
выводи одно сообщение
@joker_gut_bot greeting
(inline) -
даёт на выбор 3 разных приветствия
@joker_gut_bot memes
(inline) -
даёт на выбор 3 разных мема
Исходники
Здесь ты найдёшь исходный код этого бота.
Файл main.py
Plain
Bash
C++
C#
CSS
Diff
HTML/XML
Java
JavaScript
Markdown
PHP
Python
Ruby
SQL
#!/usr/bin/env python
import
asyncio
import
logging
import
sys
import
uuid
from
aiogram
import
F
from
aiogram.types
import
Message, InlineQuery, InlineQueryResultArticle, InputTextMessageContent, InlineQueryResultPhoto
from
aiogram.filters
import
Command
from
aiogram.utils.i18n
import
gettext
as
_
from
config
import
bot_dispatcher, bot
@bot_dispatcher.inline_query(F.query == "greeting")
async
def
send_greetings
(
inline_query: InlineQuery
):
results = []
results.append(InlineQueryResultArticle(
id
=
str
(uuid.uuid4()),
title=_(
"Обычное приветствие"
),
input_message_content=InputTextMessageContent(
disable_web_page_preview=
True
,
message_text=_(
"Приветствую я вас сегодня."
)
)
))
results.append(InlineQueryResultArticle(
id
=
str
(uuid.uuid4()),
title=_(
"Жёсткое приветствие"
),
input_message_content=InputTextMessageContent(
disable_web_page_preview=
True
,
message_text=_(
"Ну чё, как дела"
)
)
))
results.append(InlineQueryResultArticle(
id
=
str
(uuid.uuid4()),
title=_(
"Спокойное приветствие"
),
input_message_content=InputTextMessageContent(
disable_web_page_preview=
True
,
message_text=_(
"Привет"
)
)
))
await
inline_query.answer(results)
@bot_dispatcher.inline_query(F.query == "memes")
async
def
send_user_images
(
inline_query: InlineQuery
):
results = []
results.append(InlineQueryResultPhoto(
id
=
str
(uuid.uuid4()),
photo_url=
"https://wisconsinskydivingcenter.com/wp-content/uploads/2024/05/you-dont-need-a-parachute-to-go-skydiving-meme.jpeg"
,
thumbnail_url=
"https://wisconsinskydivingcenter.com/wp-content/uploads/2024/05/you-dont-need-a-parachute-to-go-skydiving-meme.jpeg"
))
results.append(InlineQueryResultPhoto(
id
=
str
(uuid.uuid4()),
photo_url=
"https://jungleroots.com/wp-content/uploads/2022/11/1_OkVxoXBTygSKB8K-zbB7uQ-300x176.jpeg"
,
thumbnail_url=
"https://jungleroots.com/wp-content/uploads/2022/11/1_OkVxoXBTygSKB8K-zbB7uQ-300x176.jpeg"
))
results.append(InlineQueryResultPhoto(
id
=
str
(uuid.uuid4()),
photo_url=
"https://livestorm.imgix.net/1127/1651607695-obi-wan-alarm-work-meme.jpeg?h=auto&w=730&fm=jpeg&auto=format&q=90&dpr=1"
,
thumbnail_url=
"https://livestorm.imgix.net/1127/1651607695-obi-wan-alarm-work-meme.jpeg?h=auto&w=730&fm=jpeg&auto=format&q=90&dpr=1"
))
await
inline_query.answer(results)
@bot_dispatcher.message(Command('help'))
async
def
help
(
message: Message
):
await
message.answer(_(
"Этот бот является примером того, как можно реализовать inline функционал для него."
))
await
message.answer(_(
"/startapp - запустить приложение"
))
await
message.answer(_(
"@joker_gut_bot memes - запросить мемы для показа"
))
await
message.answer(_(
"@joker_gut_bot greeting - запросить ответы по умолчанию"
))
@bot_dispatcher.message(Command("startapp"))
async
def
start_app
(
message: Message
):
await
message.answer(_(
"Этот бот является примером того, как можно реализовать inline функционал для него."
))
async
def
main
() ->
None
:
await
bot_dispatcher.start_polling(bot)
if
__name__ ==
"__main__"
:
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
asyncio.run(main())
Файл config.py
Plain
Bash
C++
C#
CSS
Diff
HTML/XML
Java
JavaScript
Markdown
PHP
Python
Ruby
SQL
from
aiogram
import
Bot, Dispatcher
from
aiogram.utils.i18n
import
I18n, SimpleI18nMiddleware
with
open
(
".env"
,
"r"
)
as
file:
buffer = file.read()
line_pos = buffer.find(
"BOT_TOKEN"
)
TOKEN = buffer[buffer.find(
"="
, line_pos) +
1
:]
bot = Bot(TOKEN)
bot_dispatcher = Dispatcher(bot=bot)
# Set up translation
i18n = I18n(path=
"locales"
, domain=
"messages"
)
i18n_handler = SimpleI18nMiddleware(i18n)
i18n_handler.setup(bot_dispatcher)
Медиа файлы
Файлы инлайн телеграм бота
Форма обратной связи
Отзывы
(0)
---------
One
Two
Three
Four
Five
Zero
Отправить
Сейчас тут пусто. Буть первым (o゚v゚)ノ
Отзывы
(0)