..:: BOT EKG+PYTHON ::..

Co bedzie nam potrzebne?

Przedewszystkim system Linux (lub inny system na którym mo¿emy uruchomiæ EKG), skompilowane EKG z obsug± skrytów Python'a, jaki¶ edytor tekstu i kilka wolnych minut. Artyku³ ten jest kierowany dla osób które mia³y jak±¶ styczno¶æ z EKG, pythonem i posiadaj± podstawow± wiedzie z obs³ugi systemu Linux.

Przygotowanie

Na pocz±tku uruchamiamy EKG za pomoc± polecenia ekg i konfigurujemy je dla dowolnego konta. Nastepnie przechodzimy do katalogu ~/.gg. Kolejno w ~/.gg tworzymy katalog scripts (mkdir scripts) nastepnie przechodzimy do niego (cd scripts) i tworzymy plik w którym bêdzie kod bota naprzyklad bot.py (touch bot.py). Teraz edytujemy plik swoim ulubionym edytorem najlepiej z pod¶wietlaniem sk³adni Pythona.


Reklama


Podstawowy skrypt

Bot ten w przeciwienstwie do innych EKG-botów opiera sie tylko i wy³±cznie na skrypcie w PYTHONIE, nie bedzie tu instrukcji typu /on i jej podobnych. Jest to do¶æ dobre rozwiazanie poniewa¿ jest ono ³atwiejsze i mamy wiêksze pole do manewru, oraz oczywi¶cie kod jest bardziej przeno¶ny. Po pierwsze musimy zaimportowaæ odpowiednie biblioteki które bêd± niezbêdne w trakcie tworzenia skryptu. W tym celu na pocz±tku skryptu naszego bota piszemy.


import ekg
import os

Pierwsza biblioteka ekg posiada funkcje i klasy do obs³ugi ekg, druga pozwala nam wykonywaæ polecenia systemowe. Teraz mo¿emy zainicjowaæ dwie funkcje które bêd± wywo³ywane przy w³±czeniu i wy³±czeniu skryptu (init i deinit).


def init():
 ekg.printf("generic","Skrypt zosta³ za³adowany");
 return 1
def deinit():
 ekg.printf("genetic","Skrypt zosta³ zamkniêty");

U¿yli¶my tu klasy ekg która zawiera wszystkie funkcje EKG dostêpne w skryptach pythona pozwalaj±ce mu na kontrole pracy programu. Teraz zaczynamy zabawe, tworzymy funkcje która zostaje wywo³ana po otrzymaniu wiadomo¶ci. Funkcja nazywa sie handle_msg.



def handle_msg(uin, name, msgclass, text, time, secure):
if text=="czesc":
 ekg.command("msg %s witaj jestem botem"%(uin))
elseif text=="!time":
 ekg.command(os.popen("date").read())
elseif text=="!uptime":
 ekg.command(os.popen("uptime").read())
else:
ekg.command("msg %s niepoprawne polecenie: %s"%(uin,text))

Funkcja handle_msg, ma oczywiste argumenty, ale nas interesuj± g³ównie te podane poni¿ej:

  • uin - zmienna przechowuje numer gg z którego zosta³a wysy³ana wiadomo¶æ,
  • text - przechowuje text wiadomo¶ci.

Polecenie /msg w EKG wysyla wiadomo¶æ. Funkcja jako pierwszy argument pobiera UIN osoby do której piszemy, a jako drugi, tekst wiadomo¶ci do wys³ania. To jest podstawowy szkielet bota, oczywi¶cie je¶li kto¶ chce zrobiæ co¶ wiêkszego, to nale¿y rozbudowaæ kod bota o nowe funkcje. Udostêpniam moj± wersje bota posiada kilka b³êdów ale jest w miare u¿yteczna. Mojego bota, mo¿esz znale¶æ tutaj MBOT.RAR.

Uruchomienie skryptu

Je¶li ju¿ napisali¶my skrypt, nale¿y go jako¶ za³adowaæ, w tym celu uruchamiamy skonfigurowane EKG, a nastepnie inicjujemy skrypt poleceniem

python load NAZWA_SKRYPTU

Je¶li czego¶ nie zepsuli¶my, to skrypt powninen ³adnie sie uruchomiæ i mo¿emy przyst±piæ do jego testów.

Na koniec chcia³bym przeprosiæ za wszelkie ewentualne b³êdy i problemy. Sugestie i podziekowania zg³aszajcie na adres wh1t3en(w)gmail.com. Ten mini-art napisa³em z powodu tego, ¿e z botem EKG opartym o skrypty pythona walczylem do¶æ d³ugo a rozwiazanie by³o bardzo proste.



Autor: whiten

Uwa¿asz, ¿e prezentowane przez nas informacje s± u¿yteczne? Pomó¿ nam je wypromowaæ!

  • dodaj do flakera
  • blipnij o tym
Kana³ RSS
Co na forum?
Jak odzyskaæ...
Pêtla foreach
poszukuje po...
Problem z fu...
poszukuje do...
ServerShell status: dzia³a
[zaló¿ konto]
Subskrypcja
Je¶li chcesz byæ powiadamiany o nowo¶ciach na stronie, wpisz tu swój e-mail

RSS

Dodaj do Google