[delphi] IdIRC Indy 9

0

Witam serdecznie,

napisalem prostego bota do irc, ktory siedzi i zapisuje logi z rozmow, kiedy mnie nie ma.
teraz chciałbym go ulepszyć o kilka funkcji i tu pojawiaja sie moje problemy.

Zaczne od tego, że trafiłem na
http://www.koders.com/delphi/fid2E1C794D2A72B93F258819F2278EC09ABF16D92F.aspx

  1. Co zrobic, zeby sprawdzic, czy dana wiadomosc zawiera ciag znakow?

Na tą chwile mam:

if Content='xxx' then
IdIRC1.Say(kanal,'reakcja bota');

problem w tym, że bot odezwie się dopiero, kiedy wiadomość zawiera tylko xxx. Wiec co zrobic, zeby przy wiadomosci abcd xxx efgh tez bot odpowiedzial??

  1. msg, kick, op itp

Zeby w sieci freenode zalogowac sie na swoj nick, musze wpisac /msg nickserv identify password
kiedy zrobie to za pomoca

IdIRC1.Say(kanal,'/msg nickserv identify password');

wiadomosc po prostu zostanie wyswietlona na kanale.
Tak samo jest przy wydawaniu komendy /op /kick. Do topicu np. istnieje settopic, ale to priv msg i opa nic nie znalazlem.

Prosze o pomoc.

//edit

chcialbym jeszcze wiedziec, jak pobracliste osob bedacych na kanale.

pozdrawiam

0
 
if Pos(Content, 'xxx') > 0 then
  IdIRC1.Say(kanal, 'lol');
0

przeglądnij sobie w pomocy metody IdIRC

od razu widać że do wysyłania są: Raw, Say, Notice, Action i cetecepy

0
if Pos(Content, 'xxx') > 0 then
  IdIRC1.Say(kanal, 'lol');

niestety tym wypadku takze odpowiada tylko na xxx, a na sddsa xxx dfdf juz nie.
Inne propozycje?

OK, sprawdze Raw, Say, Notice, Action i cetecepy

0

witam ponownie

czesc problemu rozwiazana.

i:=pos('xxx', Content);
if i<> 0 then
begin

Ale nadal nie moge poradzic sobie z opem i identyfikacja.

Na stronie ktora podalem wczesniej bylo o procedurze kick i rzeczywiscie IdIRC.Kick() dziala, ale IdIRC.Op() juz nie ;/

Co do indetyfikacji, wysylam pw z trscia 'identify password' do nickserv ale nic sie nie dzieje. oczywiscie konto zarejestrowane, haslo dobre u chanserva jest +O.

IdIRC1.Notice('NickServ', 'identify password');

Np do mnie takie pw dochodzi jesli zmieni nick

0

a Action i Raw próbowałeś?
a zajrzałeś do pomocy Indy'ego ?

0

poradzilem sobie z opem ;)

dla potomnych:

IdIRC1.Mode(st_chann, '+o', '^KMLL')

wystarczylo uzyc mode, przepraszam. Ale nadal nie radze sobie zweryfikacja i nadaniem autoopa botowi ;/

Kolejny problem, mianowicie OnOp wykrywa kiedy nadany zostal op, ale jak sprawdzic kto go dostal i kto nadal?

1 użytkowników online, w tym zalogowanych: 0, gości: 1