Bot w pythonie + ekg = error


(Rosiak112) #1

Ucze sie programowania w pythonie, próbowałem napisać więc prostego bota pod ekg.

Przy wczytywanie bota (python load bot.py) wyrzuca errora:

22:42 SyntaxError: invalid syntax │

22:43 ::: Nie znaleziono skryptu bot │

22:43 File "/home/michal/.gg/scripts/bot.py", line 17 │

22:43 elif text=="kto cie napisal ?" │

22:43 ^ │

22:43 SyntaxError: invalid syntax │

kod bota:

import ekg

import os


def init():

 ekg.printf("generic","Wczytano Poprawnie ;)");

 return 1

def deinit():

 ekg.printf("genetic","Zamknieto Poprawnie ;(");


def handle_msg(uin, name, msgclass, text, time, secure):

	if text=="czesc" and "elo":

		ekg.command("msg %s witaj jestem botem,mozesz pisac ze mna na nie obecnosc Michala !"%(uin))

	elif text=="co tam?":

		ekg.command("msg %s a spoko,Michala nie ma przy kompie,nie stety nie wiem kiedy wroci."%(uin))

	elif text=="co robisz ?":

		ekg.command("msg %s odpisuje sobie ludziom dobijajcym sie do tego numeru, co poradzic takie moje przeznaczenie, zostalem po to napisany."%(uin))

	elif text=="kto cie napisal ?"

		ekg.command("msg %s Napisal mnie wlasciciel numeru w pythonie"%(uin))

	else:

		ekg.command("msg %s niepoprawne polecenie: %s, nie stety nie rozumiem tego,jeszcze nie dojrzalem do tej rozmowy..."%(uin,text))

(Jagoot Spam) #2
elif text=="kto cie napisal ?"

zapomniales ":" na koncu :wink: powinno byc:

elif text=="kto cie napisal ?":

(Rosiak112) #3

Dzięki,nie zauważyłem takie małej pomyłki.

A nie ma ktoś pomysłu jak by tego bota napisać aby reagował na np. elo,czesc,cześć, odpowiadając tym samym nie tworząc oddzielnych warunków ?


(matiit) #4
if text in ['elo','czesc',]:

    #coś

(Rosiak112) #5

a jak by zrobić żeby z pliku konfiguracyjnego pobierał takie info jak uzytkownika bota imie,itp. ?


(Saskatchewan) #6

Na przykład robisz nowy plik config.py w tym samym folderze, z zawartością:

imie_bota="Czesiek"

inna_zmienna="xyz"

A w pliku z botem dajesz

import config as c


print "Czesc mam na imie %s." % (c.name,)

(Rosiak112) #7

A jak to ma działać na przykładzie lini:

ekg.command("msg %s witaj jestem botem,mozesz pisac ze mna na nie obecnosc Michala !"%(uin))

?