Spis treści:

Python Przez 30 dni: Bezpłatny kurs szybkiego startu
Dowiedz się więcejW pierwszej części naszego samouczka dotyczącego chatbota w Telegramie opracowaliśmy prostego bota echo, używając Pythona i biblioteki Aiogram. Bot echo wykonuje główne zadanie, powtarzając tekst wysłany przez użytkownika. Jeśli nie ukończyłeś pierwszej części samouczka, zdecydowanie zalecamy rozpoczęcie od niej, aby poznać ważne podstawy i zdobyć wiedzę niezbędną do dalszego rozwoju chatbotów.
Tworzenie menu chatbota
W drugiej części naszego samouczka skupimy się na poprawie doświadczenia użytkownika poprzez dodanie klawiatury szybkiej odpowiedzi i przycisków wbudowanych. Te elementy ułatwią użytkownikom nawigację po stronie Skillbox. Zanim zaczniemy tworzyć menu, ważne jest, aby zrozumieć różne typy klawiatur dostępne w bibliotece Aiogram. Ta wiedza pozwoli nam skutecznie dostosować interfejs i poprawić doświadczenia użytkownika podczas interakcji z botem.
Typy klawiatur w Aiogram
Biblioteka Aiogram oferuje programistom dwa główne typy klawiatur w Pythonie, które różnią się funkcjonalnością i układem przycisków. Klawiatury te obejmują klawiatury wbudowane i osadzone. Klawiatury wbudowane pojawiają się bezpośrednio pod polem wprowadzania wiadomości, umożliwiając użytkownikom szybką interakcję z botem. Z kolei klawiatury wbudowane można umieścić w dowolnym miejscu wiadomości i umożliwiają one bardziej złożone interakcje użytkownika, takie jak nawigacja do innych ekranów lub wykonywanie poleceń bez konieczności pisania. Wybór odpowiedniego typu klawiatury może poprawić doświadczenia użytkownika i zwiększyć efektywność interakcji z botem.
- Przyciski odpowiedzi: Te przyciski zostały zaprojektowane tak, aby zapewniać gotowe odpowiedzi i można je przypiąć do ekranu zamiast klawiatury głównej. Są one często używane w chatbotach jako menu główne i są tworzone za pomocą metody ReplyKeyboardMarkup.
- Przyciski w tekście: Te przyciski są umieszczane obok wiadomości czatu, umożliwiając użytkownikowi wyświetlenie klawiatury głównej. Są tworzone za pomocą metody InlineKeyboardMarkup i zapewniają bardziej interaktywne wrażenia.
Optymalizacja menu bota Telegrama
Nasz bot Telegrama, opracowany na platformie Aiogram, oferuje użytkownikom możliwość wysyłania wiadomości tekstowych i odbierania odpowiedzi. Aby poprawić jakość interakcji z użytkownikami, wdrożymy funkcjonalność przycisków z predefiniowanymi frazami. Te przyciski odpowiedzi sprawią, że komunikacja będzie wygodniejsza i bardziej intuicyjna, umożliwiając użytkownikom szybki wybór pożądanych odpowiedzi i minimalizując konieczność ręcznego wprowadzania tekstu. Wdrożenie tej funkcji znacznie poprawi komfort użytkowania i zwiększy efektywność komunikacji z botem.
Aby zaimplementować tę funkcjonalność, należy użyć klasy ReplyKeyboardMarkup oraz szeregu dodatkowych klas. Zacznijmy od ich zaimportowania.
Klasy ReplyKeyboardRemove i ReplyKeyboardMarkup umożliwiają nie tylko tworzenie niestandardowych klawiatur, ale także ich usuwanie w razie potrzeby. W tym kontekście klasa KeyboardButton służy do tworzenia indywidualnych przycisków na klawiaturze. Narzędzia te pozwalają efektywnie zarządzać interakcjami użytkowników, zapewniając elastyczność w dostosowywaniu interfejsu chatbota. Prawidłowe użycie tych klas poprawia komfort użytkowania i pomaga stworzyć intuicyjny interfejs komunikacyjny.
Tworzenie przycisków z predefiniowanymi frazami to ważny aspekt tworzenia stron internetowych. W tym procesie napiszemy kod, który umożliwi użytkownikom szybkie wysyłanie predefiniowanych wiadomości. Następnie szczegółowo omówimy każdą część kodu, abyś mógł zrozumieć jego strukturę i funkcjonalność.
W naszym głównym dekoratorze zaczniemy od utworzenia listy KB, która będzie służyć do przechowywania przycisków. Każdy przycisk w Aiogramie jest tworzony za pomocą konstruktora types.KeyboardButton(text=»«), gdzie parametr text określa tekst wyświetlany na przycisku. Pozwala to na stworzenie interaktywnego interfejsu dla użytkowników, upraszczając interakcję z botem. Prawidłowe użycie przycisków znacznie poprawi komfort użytkowania i zwiększy wydajność bota.
Aby utworzyć klawiaturę z przyciskami w bocie Telegrama, należy użyć metody types.ReplyKeyboardMarkup(keyboard=list). Zamiast „list” należy podać nazwę listy z przyciskami. W tym przykładzie używamy listy klawiatur (kb list). Ta metoda pozwala szybko i łatwo utworzyć interfejs użytkownika, zapewniając intuicyjną interakcję z botem i poprawiając komfort użytkowania.
Aby wyświetlić klawiaturę w czacie Telegrama, należy użyć parametru reply_markup=keyboard w odpowiedzi na polecenie /start. Spowoduje to wyświetlenie klawiatury z przyciskami, które wcześniej zdefiniowaliśmy na liście klawiatur (kb list). Po uruchomieniu bota użytkownicy zobaczą oba przyciski bezpośrednio w czacie, co uprości interakcję i sprawi, że będzie ona wygodniejsza.

Po kliknięciu dowolnego przycisku zawarty na nim tekst zostanie wysłany do czatu. Następnie bot Telegramu odpowie, powtarzając tę samą frazę.

Utwórz Nieograniczona liczba szablonów i łączenie każdego przycisku z nowymi akcjami. W następnej sekcji przyjrzymy się bliżej, jak korzystać z klawiatur wbudowanych, aby zwiększyć interaktywność komunikacji. Korzystanie z klawiatur wbudowanych poprawia komfort użytkowania, umożliwiając użytkownikom szybkie odpowiadanie na wiadomości i wykonywanie czynności bez konieczności pisania na klawiaturze. To znacznie upraszcza interakcję i sprawia, że komunikacja jest bardziej dynamiczna.
Tworzenie przycisków wbudowanych za pomocą Aiogram
Przyciski wbudowane to skuteczny sposób interakcji w Telegramie. W przeciwieństwie do standardowych klawiatur, są one bezpośrednio powiązane z wiadomościami na czacie. Uderzający przykład ich zastosowania można zobaczyć na kanale @BotFather, gdzie przyciski wbudowane upraszczają proces tworzenia tokena dostępu do API Telegrama. W tym kontekście menu wbudowane demonstruje wygodę pracy z istniejącymi botami, czyniąc interakcję bardziej intuicyjną i szybszą. Przyciski w tekście znacząco poprawiają komfort użytkowania, umożliwiając użytkownikom szybkie wykonywanie działań i uzyskiwanie potrzebnych informacji.

Stwórzmy wbudowane przyciski dla bota Pythona, które będą kierować użytkowników do stron Skillbox Media i kursów programowania. Zacznijmy od dodania niezbędnych klas w sekcji importów naszego kodu. Pozwoli nam to zintegrować przyciski z interfejsem bota i poprawić interakcję z użytkownikiem, zapewniając mu bezpośredni dostęp do odpowiednich zasobów i materiałów.
Klasa InlineKeyboardMarkup służy do inicjowania wbudowanych przycisków, a klasa InlineKeyboardButton służy do ich tworzenia. Przyjrzyjmy się teraz procesowi tworzenia wbudowanych przycisków bardziej szczegółowo.
Aby zainicjować klawiaturę, używamy klasy InlineKeyboardMarkup z parametrem row_width ustawionym na 1. Pozwala to określić liczbę przycisków umieszczonych w jednym wierszu. Biorąc pod uwagę dość długi tekst na przyciskach, optymalnym rozwiązaniem jest ich pionowe ułożenie. To podejście poprawia percepcję i łatwość interakcji z interfejsem.
Utwórzmy osobne zmienne dla każdego przycisku i zainicjujmy klasę Button, przekazując niezbędne parametry. Pozwoli nam to łatwo zarządzać właściwościami i zachowaniem każdego przycisku w naszym projekcie. Użycie osobnych zmiennych dla przycisków poprawi czytelność kodu i uprości jego dalszą modyfikację. Zapewni to również lepszą organizację logiki interakcji z elementami interfejsu, co pozytywnie wpłynie na doświadczenie użytkownika.
- text — tekst, który będzie wyświetlany na przycisku w komunikatorze;
- url — link, do którego użytkownik zostanie przekierowany po kliknięciu przycisku.
Po dodaniu przycisków do klawiatury za pomocą metody add, możemy przejść do utworzenia message_handler, który będzie odpowiedzialny za wyświetlanie przycisków wbudowanych w Telegramie. Proces ten jest podobny do pracy ze zwykłymi przyciskami, ale linki są określane jako polecenie. W parametrze reply_markup przekazujemy nazwę naszej klawiatury — urlkb. Dzięki temu użytkownicy mogą wygodniej i efektywniej wchodzić w interakcję z botem, zapewniając im dostęp do niezbędnych informacji za pomocą jednego kliknięcia.
Po uruchomieniu bota możemy ocenić jego skuteczność i funkcjonalność. Pozwoli nam to zobaczyć, jak radzi sobie z przydzielonymi zadaniami i reaguje na polecenia użytkownika. Podczas testów będziemy mogli zidentyfikować mocne i słabe strony bota, a także obszary wymagające dalszych ulepszeń i optymalizacji.

Rezultat przerósł wszelkie oczekiwania. Klawiatura wbudowana pojawia się teraz automatycznie po wysłaniu polecenia/linku do bota. To znacznie usprawnia interakcję użytkownika z botem i pozwala na wygodniejsze i efektywniejsze dostarczanie dodatkowych informacji. Klawiatura wbudowana ułatwia dostęp do kluczowych funkcji, czyniąc komunikację z botem bardziej intuicyjną. Ulepszenie funkcjonalności bota przyczynia się do jego popularności i łatwości użytkowania.
Podsumowanie funkcjonalności bota echo
Bot echo dla Telegrama, zbudowany w Pythonie, oferuje teraz dwa rodzaje menu: przyciski odpowiedzi do szybkiej interakcji oraz przyciski wbudowane, które zapewniają dostęp do bloga i strony internetowej Skillbox. Te innowacje znacząco poprawiają komfort użytkowania, umożliwiając szybkie i wygodne uzyskiwanie ważnych informacji. Zoptymalizowany interfejs i funkcjonalność bota sprawiają, że interakcja z nim jest bardziej wydajna i intuicyjna.
Jeśli chcesz tworzyć bardziej złożone boty, na przykład dla sklepów internetowych, zdecydowanie zalecamy zapoznanie się z oficjalną dokumentacją biblioteki Aiogram. Pomoże Ci to opanować nowe klasy, metody i obiekty, co z kolei znacząco rozszerzy funkcjonalność Twoich botów. Zrozumienie możliwości Aiogramu otworzy nowe horyzonty rozwoju, umożliwiając tworzenie bardziej interaktywnych i użytecznych aplikacji dla użytkowników. Dodatkowe zasoby edukacyjne obejmują różnorodne platformy online, materiały edukacyjne i kursy specjalistyczne. Zasoby te pomogą Ci pogłębić wiedzę na interesujące Cię tematy i rozwinąć umiejętności. Zalecamy korzystanie z kursów na platformach takich jak Coursera, Udemy i edX, gdzie znajdziesz wysokiej jakości wykłady i ćwiczenia praktyczne. Warto również rozważyć zasoby biblioteczne i artykuły naukowe, które dostarczają aktualnych informacji i badań w wybranej dziedzinie. Nie zapomnij o forach i społecznościach, gdzie możesz zadawać pytania i dzielić się doświadczeniami z osobami o podobnych zainteresowaniach. Korzystanie z tych zasobów znacząco poprawi efektywność nauki i pomoże Ci opanować nowe koncepcje.
- C# dla początkujących: obalanie mitów i tworzenie prostego chatbota
- Test: który język programowania wybierzesz — Java czy Python?
- Co można, a czego nie można zrobić w JavaScript
Programista Python: 7 kroków do udanej kariery
Chcesz zostać programistą Python? Poznaj 7 kluczowych kroków do udanej kariery!
Dowiedz się więcej
