egghelp.org community Forum Index
[ egghelp.org home | forum home ]
egghelp.org community
Discussion of eggdrop bots, shell accounts and tcl scripts.
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

[Solved] Unable to DCC Chat my bot

 
Post new topic   Reply to topic    egghelp.org community Forum Index -> Eggdrop Help
View previous topic :: View next topic  
Author Message
Fill
Halfop


Joined: 18 Jan 2009
Posts: 80

PostPosted: Sun Jan 18, 2009 6:30 pm    Post subject: [Solved] Unable to DCC Chat my bot Reply with quote

Hi guys,

I need some help. I'm a newbie with eggdrops and have recently set one up (named RoBotX).

The problem is, I can't dcc chat with him. And yes, I checkd http://forum.egghelp.org/viewtopic.php?t=10399 and tried everything, although my bot is hosted on my machine. Me and my bot are connected to an external IRC network (irc.mindforge.org), but are on the same machine, so I think it should be easier and faster to dcc chat with it.

When I /dcc chat RoBotX, I just get a message telling me "Waiting for acknowledgement".

If I /ctcp RoBotX CHAT, I get the dialog box asking me if I want to accept the DCC chat with RoBotX, I click "Accept", and all I get is this:

Code:

DCC Chat session
Client: RoBotX (85.xxx.xxx.xx)
Time: Sun Jan 18 22:02:46 2009
Acknowledging chat request...
Unable to connect
DCC session closed


I set the DCC connections port to 1026 and even though the bot is on the same machine as myself, I forwarded port 1026 on my router to my local ip. I don't think there's any problem between the bot and me, because he's able to send me the dcc chat request.


Oh, and I would also like your help to make a good auto-identify script. I tried this one:
Code:

bind notc - "*If you do not change within*" identify:notc
proc identify:notc { nick uhost handle text dest } {
 global botnick nickserv identcmd identpass
 if { $nick == NickServ } {
  puthelp "PRIVMSG NickServ :identify <password>"
  putlog "Identifying: NickServ"
 }
}


But it doesn't work because sometimes NickServ goes to RoBotX's ignore list (he assumes NickServ as a flooder, is there a way I can add the services as an exception?)

And I have just tried this one:
Code:

proc evnt:init_server {type} {
  global botnick
  putquick "MODE $botnick +ix"
  putserv "PRIVMSG NickServ :identify <password>"

}


But this one doesn't work because when there's some lag, the bot connects and sends the identify command before receiving the NickServ notices...

So my other question is, can you help me and make a script that would make the bot wait 10 seconds before identifying to nickserv? And if you can explain me, I would thank you Smile


Thanks in advance,
Fill


Last edited by Fill on Wed Jan 28, 2009 1:43 pm; edited 1 time in total
Back to top
View user's profile Send private message
nml375
Revered One


Joined: 04 Aug 2006
Posts: 2857

PostPosted: Mon Jan 19, 2009 1:07 pm    Post subject: Reply with quote

What kind of router are you using?
Some routers do not allow you to use forwarded ports from within the protected zone, which will break dcc-chat within the protected zone.

Edit:
As for your second query, you could use the utimer command to delay the second script. Posting a short example below:
Code:
proc evnt:init_server {type} {
 putquick "MODE $::botnick +ix"
 utimer 10 [list putserv "PRIVMSG NickServ :identify <password>"]
}

_________________
NML_375, idling at #eggdrop@IrcNET
Back to top
View user's profile Send private message
Fill
Halfop


Joined: 18 Jan 2009
Posts: 80

PostPosted: Tue Jan 20, 2009 11:07 am    Post subject: Reply with quote

hi,

Thanks for the identify script, it worked!!! Laughing Laughing Laughing

Now I just have to fix DCC chat issue >.<

I have a Netgear CVG834G

Thanks for the help.

And I heard that I also could telnet the bot and use the same commands as I would use in DCC chat session - if that's right, what is telnet and how can I do it locally?
Back to top
View user's profile Send private message
nml375
Revered One


Joined: 04 Aug 2006
Posts: 2857

PostPosted: Tue Jan 20, 2009 2:26 pm    Post subject: Reply with quote

Unfortunately, I was unable to find any documentation for that specific model on netgear's site. Checking the documentation for other models that appear similar (all running firmwares built on eCos), reveals the following:
Quote:
Local computers must access the local server using the computer’s local LAN address
(192.168.0.11 in the example in Figure 4-6 above). Attempts by local computers to access the
server using the external WAN IP address will fail.

If this text appears in your manual in the end of the section covering port forwarding, you're pretty much screwed (sorry).
There is, however, a few workarounds. If you've opened a telnet-port, you may telnet to your bot using your favourite telnet client. You could also create a script such as below to make your bot send a dcc-chat request to you using the local network IP rather than the external one. Just remember to replace "port" with whatever port your eggdrop is listening at.
Code:
bind msg - dccme MsgDccMe
proc MsgDccMe {nick host handle text} {
 puthelp "PRIVMSG $nick :\001DCC CHAT chat [myip] port\001"
}


As for "what is telnet", well, it's a simple plaintext terminal application. In a sense, you could considder SSH being an encrypted extension to telnet. Most systems do provide some trivial telnet client these days, although some are better than others Wink If you are hosting your eggdrop on some linux or *BSD-system, you'll for certain have some kind of telnet client on that system. Many SSH clients also provide unencrypted (telnet) operation.

Edit: Fixed minor "oops".
_________________
NML_375, idling at #eggdrop@IrcNET


Last edited by nml375 on Wed Jan 21, 2009 8:23 pm; edited 1 time in total
Back to top
View user's profile Send private message
Fill
Halfop


Joined: 18 Jan 2009
Posts: 80

PostPosted: Wed Jan 21, 2009 10:23 am    Post subject: Reply with quote

hi,

thanks for the help, I tried your script but I got this:

Code:

[14:23] wrong # args: should be "proc name args body"
    while executing
"proc msg - dccme MsgDccMe"
    (file "eggdrop.conf" line 1396)
[14:23] * CONFIG FILE NOT LOADED (NOT FOUND, OR ERROR)
Back to top
View user's profile Send private message
Sir_Fz
Revered One


Joined: 27 Apr 2003
Posts: 3793
Location: Lebanon

PostPosted: Wed Jan 21, 2009 5:09 pm    Post subject: Reply with quote

That looks more like a bind than a proc, so change "proc" to "bind."
_________________
Follow me on GitHub

- Opposing

Public Tcl scripts
Back to top
View user's profile Send private message Visit poster's website
nml375
Revered One


Joined: 04 Aug 2006
Posts: 2857

PostPosted: Wed Jan 21, 2009 8:22 pm    Post subject: Reply with quote

Indeed it is, and I screwed up Embarassed
Editing the previous post to correct the error.
_________________
NML_375, idling at #eggdrop@IrcNET
Back to top
View user's profile Send private message
Fill
Halfop


Joined: 18 Jan 2009
Posts: 80

PostPosted: Wed Jan 28, 2009 1:43 pm    Post subject: Reply with quote

woow, thanks, it worked!!! I am now able to control my bot via DCC chat and the /identify script is working properly.

Thanks!
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    egghelp.org community Forum Index -> Eggdrop Help All times are GMT - 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Forum hosting provided by Reverse.net

Powered by phpBB © 2001, 2005 phpBB Group
subGreen style by ktauber