własny bot dla sieci Gadu-Gadu
Data: 19 luty 2008
Identyfikator: 080352
Informacje wysłane do nas przez Gadu-Gadu giną, jeśli nie odbierzemy ich
w określonym czasie. Można temu zapobiec, uruchamiając bota, który będzie pełnił rolę automatycznej sekretarki i zapisywał przychodzące wiadomości.
W celu uruchomienia bota Gadu-Gadu z funkcją sekretarki wykorzystamy program GGBot autorstwa Piotra Frankowskiego. Dzięki skryptom aplikacja może analizować kierowane do niej wypowiedzi i w odpowiedzi podejmować określone akcje. Jej zastosowanie zależy wyłącznie od tego, jak zostanie zaprogramowana przez użytkownika. GGBot może zintegrować się z programem Gadu-Gadu, więc nie trzeba dla niego tworzyć nowego numeru. Bot jest freeware’em i występuje w wersjach:
- linuksowej, udostępnianej na licencji GPL. Jej funkcje można rozbudowywać, tworząc własne skrypty w Pytonie.
- windowsowej, już nierozwijanej. W tej wersji do wprowadzenia nowych funkcji używa się specjalnego języka skryptowego.
Do obydwu wersji można pobrać z internetu gotowe skrypty: do wersji do Windows ze strony
http://harvester.iglu.cz/win/skrypty.php, do Linuksa z
http://harvester.iglu.cz/index.php?page=scripts.
Z ciekawych, dostępnych w internecie skryptów warto wymienić:
- skrypt ułatwiający szperanie w różnych wyszukiwarkach internetowych,
- skrypt rozszerzający możliwości bota o wysyłanie e-maili z poziomu komunikatora,
- skrypt zachowujący wiadomości od użytkowników MiniGadu,
- skrypt sprawdzający opis dowolnego numeru Gadu-Gadu,
- skrypt umożliwiający sprawdzenie programu telewizyjnego dla ponad 400 stacji.
Instalacja GGBota
Jeśli chcemy uruchomić GGBota w wersji linuksowej, należy go skompilować ze źródeł. Do pracy aplikacja potrzebuje interpretatora języka Python, który musi być zainstalowany w systemie. Windowsowy GGBot nie ma instalatora i jest gotowy do pracy po rozpakowaniu.
Przy pierwszym uruchomieniu GGBota do Windows musimy jeszcze odpowiedzieć na pytania prostego kreatora, m.in. o numer, hasło do GG, tryb pracy i inne podstawowe parametry. Aby wykorzystać wszystkie możliwości GGBota, nie można zakończyć konfiguracji na tym etapie. Kreator ustawia tylko najistotniejsze elementy. Większość innych opcji, w tym sekretarkę, trzeba włączyć w głównym pliku konfiguracyjnym – main.txt.
Gdzie jest ta sekretarka?
Jedną z wielu opcji pomijanych w Kreatorze konfiguracji jest tryb automatycznej sekretarki (tylko wersja do Windows). Gdy jest on włączony, GGBot, niezależnie od treści komunikatu, jaki otrzyma z sieci przez Gadu-Gadu, wyśle zdefiniowaną odpowiedź. Dodatkowo może on logować wiadomości do pliku. Aby włączyć tryb automatycznej sekretarki, w pliku main.txt odszukaj linijkę: one_answer_mode=0 i jej wartość zmień na 1 (włączone), a następnie ponownie uruchom program. Dodatkowo w pliku data/strings.txt trzeba zdefiniować komunikat, jaki będzie wysyłał automat, np. „Jestem na wakacjach. Proszę zostawić wiadomość”.
Jedną z wielu opcji pomijanych w Kreatorze konfiguracji jest tryb automatycznej sekretarki (tylko wersja do Windows). Gdy jest on włączony, GGBot, niezależnie od treści komunikatu, jaki otrzyma z sieci przez Gadu-Gadu, wyśle zdefiniowaną odpowiedź. Dodatkowo może on logować wiadomości do pliku. Aby włączyć tryb automatycznej sekretarki, w pliku main.txt odszukaj linijkę: one_answer_mode=0 i jej wartość zmień na 1 (włączone), a następnie ponownie uruchom program. Dodatkowo w pliku data/strings.txt trzeba zdefiniować komunikat, jaki będzie wysyłał automat, np. „Jestem na wakacjach. Proszę zostawić wiadomość”.
Napisz własny skrypt
Jak już wspomnieliśmy, aktualnie rozwijana, linuksowa wersja GGBota wykorzystuje przyjazny język programowania – Python. Za jego pomocą zaprogramujesz bota do wykonywania dowolnych zadań. Na przykład można stworzyć skrypt, który uruchomi na maszynie z GGBotem dowolny program, po otrzymaniu polecenia przez Gadu-Gadu. Treść skryptu będzie wyglądała następująco:
import os,ggbot,str_op
def handle_msg(uin,msg,time,msg_class):
(command,arg,argt) =
str_op.separate_command(msg)
if command == „cmd”:
if uin == ggbot.variable.admin_uin:
cmd = msg.replace(msg[:4],””)
wynik = os.popen(cmd).read()
wynik = str(wynik)
if len(wynik)<1:
wynik = "Polecenie \r\n \r\n"
+cmd+" \r\n \r\n zostało wykonane!"
else:
wynik = "Nie masz uprawnień do
wykonania tego polecenia"
ggbot.send_msg(uin, wynik, msg_class)
return 5
Msg to polecenie wysłane do bota, uin – nr GG klienta. Polecenie będzie przyjęte tylko od numeru zarejestrowanego w ustawieniach programu jako admin GGBota (admin_uin).
Jeżeli pierwszym słowem wysłanym do bota będzie cmd, to polecenie występujące za nim zostanie wykonane w shellu wraz z listą argumentów. Polecenie może być dowolnym skryptem, programem lub komendą systemową. Zostaną uruchomione z uprawnieniami konta użytkownika, na którym działa bot.
Ocena: 



(aby ocenić, musisz się zalogować w serwisie)
Podobne artykuły: