Kod

Tworzenie przycisków bota Telegramu w Pythonie: 5 kroków do menu

Tworzenie przycisków bota Telegramu w Pythonie: 5 kroków do menu

Python Przez 30 dni: Bezpłatny kurs szybkiego startu

Dowiedz się więcej

W 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.

Zrzut ekranu: Aiogram / Skillbox Media

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

Zrzut ekranu: Aiogram / Skillbox Media

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.

Zrzut ekranu: Aiogram / Skillbox Media

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.

Zrzut ekranu: Aiogram / Skillbox Media

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