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 

private message output to user
Goto page 1, 2  Next
 
Post new topic   Reply to topic    egghelp.org community Forum Index -> Script Requests
View previous topic :: View next topic  
Author Message
blake
Master


Joined: 23 Feb 2009
Posts: 201

PostPosted: Fri Dec 18, 2009 8:21 pm    Post subject: private message output to user Reply with quote

Im looking for a script that will output the contents of a private message sent to my eggdrop

im using this small bit of script at the moment but need to build on it

Code:
bind msg A|A spyadd cmd:spyadd
proc cmd:spyadd {nick uhost hand arg} {
  set user1 [lindex [split $arg] 0]
  set user2 [join [lrange [split $arg] 1 end]]
  putquick "SPY add $user1 $user2"
}


When this command has been performed my eggdrop sends SPY add $user1 $user2 to the server it then gets a private message from IRC

What I need is for my eggdrop to output the content of the private message sent to it by IRC

preferably the bot will then send the user that has used the above command a private message sending that user the content of the private message sent to it by IRC
_________________
Blake
UKEasyHosting UKStormWatch
Back to top
View user's profile Send private message Visit poster's website
Sir_Fz
Revered One


Joined: 27 Apr 2003
Posts: 3793
Location: Lebanon

PostPosted: Fri Dec 18, 2009 8:35 pm    Post subject: Reply with quote

It would be a lot helpful if you provide information about the private message received (format) and the user@host (and nickname) of the sender.
_________________
Follow me on GitHub

- Opposing

Public Tcl scripts
Back to top
View user's profile Send private message Visit poster's website
blake
Master


Joined: 23 Feb 2009
Posts: 201

PostPosted: Fri Dec 18, 2009 8:41 pm    Post subject: Reply with quote

Sir_Fz wrote:
It would be a lot helpful if you provide information about the private message received (format) and the user@host (and nickname) of the sender.


The eggdrop sends spy add nick1 nick2 to the server the eggdrop is then sent a private message by IRC then the eggdrop should send the contents of the pm from IRC to whoever has used the command spyadd nick1 nick2 showing them the contents of the private message

sorta like this I would type /changuardian spyadd user1 user2
ChanGuardian then sends spy add user1 user2 to the server
then recieves a private message from IRC
ChanGuardian then sends me a private message showing the contents of private message sent to it by IRC

user@host (IRC@hub.chattersworld.co.uk) this Changes dependent on which server this command is sent from
IRC@irc.chattersworld.co.uk
IRC@leaf.chattersworld.co.uk

IRC is whats sending the eggdrop the private message if your able to visit my server i could show you what i have and then what I want that would help more
_________________
Blake
UKEasyHosting UKStormWatch
Back to top
View user's profile Send private message Visit poster's website
TCL_no_TK
Owner


Joined: 25 Aug 2006
Posts: 509
Location: England, Yorkshire

PostPosted: Sat Dec 19, 2009 1:43 am    Post subject: Reply with quote

Arrow This request seems highly unethical and also violates the Forum Rules
_________________
TCL the misunderstood
Back to top
View user's profile Send private message Send e-mail
nml375
Revered One


Joined: 04 Aug 2006
Posts: 2857

PostPosted: Sat Dec 19, 2009 6:31 am    Post subject: Reply with quote

@TCL_no_TK:
There might very well be ethical concerns with monitoring conversations. However, there is nothing afaik that would ban such a request on this forum in the forum rules. In the end, it all comes down to the person using this script. Also, this would not even be possible without a customized ircd for starters.. All an eggdrop would do would be to relay messages sent to the eggdrop (in theory).

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


Joined: 23 Feb 2009
Posts: 201

PostPosted: Sat Dec 19, 2009 8:26 am    Post subject: Reply with quote

On my server conversations are logged for security reason`s only and it do state to our users they are logged for security

reason for logging is we have users that are of an age 13 upwards conversations are only checked when requested by the user if they have had a private message sent them thats of bad content

Sorry but I do not believe theirs anything unethical about making sure our users can use our chat site and feel safe problem with most chat sites and other servers are that dont use these means are they suffer from issues with undesirable users joining the networks were teen users are if me logging a conversation means ive stopped a peadophile from grooming his next victim then im happy with that and as ive said it states to our users that all communications are logged if they choose to use our chat service that also means they are happy with our terms and guidlines

Networks use this term its unethical but they also wouldnt believe something that has been copy pasted to them as it can be edited its a shame most think more about the security of their rooms or servers and less about the ppl that make them rooms/servers a good place to use last thing I want is getting tied up in some case issues because a yougster has been groomed by some sicko and found dead.

My base reason for asking for this request is we have admin that are ircop only and do not have access to use the standalone command only network admin have this my eggdrop has network admin status because of what it does on my server this way all ircops locops will beable to use the monitoring command issued via my eggdrop all i need it do is output to them the content of the private message sent by IRC to the eggdrop
_________________
Blake
UKEasyHosting UKStormWatch
Back to top
View user's profile Send private message Visit poster's website
nml375
Revered One


Joined: 04 Aug 2006
Posts: 2857

PostPosted: Sat Dec 19, 2009 1:39 pm    Post subject: Reply with quote

Blake,
Would this by any chance be the f_pmspy UnrealIRCd module by fez?
From what I could gather, the relayed message would look something like this (in RFC1459 notation):
Code:
#PRIVMSG:
:IRC!IRC@irc.chattersworld.co.uk PRIVMSG Eggdrop :[Sender > Recipient] The message

#NOTICE:
:IRC!IRC@irc.chattersworld.co.uk PRIVMSG Eggdrop :[Sender - Recipient] The message

It would probably be a good idea to add a new handle for the server messaging, giving it a custom flag. This way, we can avoid non-ircd messages being forwarded or faked. There is, unfortunately, not much to build a pattern on, though a regular expression should be able to separate the sender, recipient and message without too much difficulty. All that is then left do do, is to log the message. If you don't need to separate the details, but simply
Code:
if {![validuser "ircspy"]} {
  adduser ircspy "IRC!IRC@irc.chattersworld.co.uk"
  chattr ircspy +X
  setuser ircspy HOST "IRC!IRC@leaf.chattersworld.co.uk"
}

proc pubmRecvSpyMessage {nick host handle text} {
  if {[regexp -- {^\[([[:alnum:]]) ([->]) ([[:alnum:]])\] (.*)$} $text match sender type recipient message]} {
    putlog "Spy Message recieved, sender: $sender recipient: $recipient message: $message"
  }
}
bind msgm X {[*]} pubmRecvSpyMessage


For the ethical concerns, I'd leave that up to you to work out. Monitoring applications such as f_pmspy can be very useful in some cases, and easily abused in other cases. But then again, most people tend to forget that sending anything over the internet is pretty much like sending open postcards, and unless you take extra precaution to render the data unreadable by any other than the intended recipient, you always have the risk of someone "eavesdropping".
As I wrote in my previous post to TCL_no_TK, I can't see anything in your request that would violate the Forum rules.

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


Joined: 18 Nov 2009
Posts: 143
Location: South Africa

PostPosted: Sat Dec 19, 2009 1:40 pm    Post subject: Reply with quote

The unreal's spy module is near impossibly to find and the fact that you have it, must mean you have read ALL the text involved and warnings for it. This means you understand that the use of it is HIGHLY unethical AND HIGHLY illegal in most countries (including yours). And telling users this does not void their right of privacy.

There is no viable reason to spy on users (much less a legal one) that you can't prevent or filter by some other means. You could for example use /spamfilter to block things from your users that you don't want them to see and you can also FORCE channel modes and user modes to include +G, which will filter out any 'badwords'.

EDIT: Those that want to argue to me about this, I quote this from angrywolf's unrealircd module website:
Quote:
m_spy allows you to see users' private and channel messages (both PRIVMSGs and NOTICEs) sent from anywhere on the IRC network in real time. You can redirect their messages to a channel, or they can be sent to you privately. This module provides three commands: /spy to specify whose messages you want to see, /spychan to specify which channel you want to see the messages of, and /spystats to receive statistical information about private and channel spy entries.
Note: Spying on people is highly unethical, and in many countries, illegal! Use this module at your own risk!
Back to top
View user's profile Send private message Visit poster's website
blake
Master


Joined: 23 Feb 2009
Posts: 201

PostPosted: Sat Dec 19, 2009 3:43 pm    Post subject: Reply with quote

nml375 wrote:
Blake,
Would this by any chance be the f_pmspy UnrealIRCd module by fez?
From what I could gather, the relayed message would look something like this (in RFC1459 notation):
Code:
#PRIVMSG:
:IRC!IRC@irc.chattersworld.co.uk PRIVMSG Eggdrop :[Sender > Recipient] The message

#NOTICE:
:IRC!IRC@irc.chattersworld.co.uk PRIVMSG Eggdrop :[Sender - Recipient] The message

It would probably be a good idea to add a new handle for the server messaging, giving it a custom flag. This way, we can avoid non-ircd messages being forwarded or faked. There is, unfortunately, not much to build a pattern on, though a regular expression should be able to separate the sender, recipient and message without too much difficulty. All that is then left do do, is to log the message. If you don't need to separate the details, but simply
Code:
if {![validuser "ircspy"]} {
  adduser ircspy "IRC!IRC@irc.chattersworld.co.uk"
  chattr ircspy +X
  setuser ircspy HOST "IRC!IRC@leaf.chattersworld.co.uk"
}

proc pubmRecvSpyMessage {nick host handle text} {
  if {[regexp -- {^\[([[:alnum:]]) ([->]) ([[:alnum:]])\] (.*)$} $text match sender type recipient message]} {
    putlog "Spy Message recieved, sender: $sender recipient: $recipient message: $message"
  }
}
bind msgm X {[*]} pubmRecvSpyMessage


For the ethical concerns, I'd leave that up to you to work out. Monitoring applications such as f_pmspy can be very useful in some cases, and easily abused in other cases. But then again, most people tend to forget that sending anything over the internet is pretty much like sending open postcards, and unless you take extra precaution to render the data unreadable by any other than the intended recipient, you always have the risk of someone "eavesdropping".
As I wrote in my previous post to TCL_no_TK, I can't see anything in your request that would violate the Forum rules.


Im using angrywolfs m_spy.c module for unrealircd

i respect the views everyone have left it is not illegal in the uk infact the home office welcome such actions on security with regards to chat sites and games sites
Code:
privmsg
<IRC> [Malphas >> ChanGuardian] hello


this is how it outputs to a private message to the bot
_________________
Blake
UKEasyHosting UKStormWatch
Back to top
View user's profile Send private message Visit poster's website
Trixar_za
Op


Joined: 18 Nov 2009
Posts: 143
Location: South Africa

PostPosted: Sat Dec 19, 2009 4:59 pm    Post subject: Reply with quote

No, that only pertains to Govermental Powers and the Police... Are you either? No? Then you're perpetrating human right violations and SEVERAL of your countries laws (both of which your users can sue you for...).

The only other exception to this law would be if you owned the equipment you are monitoring and the users were your employees.

Also try to download m_spy.c from angrywolf's website - you can't and he doesn't provide it anymore with, what I feel, is very good reasons.

Even worse you're going to give local IRCop's the power to monitor people, what keeps them from abusing this and monitoring people without any good reason or selling or abusing the information they get from this (this can end up violating the Data Protection Act). The probability for abuse gets worse the more people have access to this command.

But like angrywolf said - use it at your own risk and remember, with me telling you all this, you can't claim ignorance when things go wrong. I did my ethical part now (and my human right #29 and yours [Where I have a obligation to tell you these things]) and I won't bother you any futher.
Back to top
View user's profile Send private message Visit poster's website
nml375
Revered One


Joined: 04 Aug 2006
Posts: 2857

PostPosted: Sat Dec 19, 2009 9:56 pm    Post subject: Reply with quote

blake:
In that case, the regular expression would be like this:
Code:
  if {[regexp -- {^\[([[:alnum:]]) >> ([[:alnum:]])\] (.*)$} $text match sender recipient message]} {

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


Joined: 23 Feb 2009
Posts: 201

PostPosted: Sun Dec 20, 2009 8:55 am    Post subject: Reply with quote

My eggdrop is now recieving the messages form IRC but is not outputting them to a private message

This is on bots partyline
Code:
<ChanGuardian> [12:35] Tcl error [cmd:spyadd]: No such info type: HOST
_-12:35pm-_ <ChanGuardian> [12:35] -NOTICE- *** ChanGuardian Malphas: Added to your private spy list
_-12:35pm-_ <ChanGuardian> [12:36] [IRC!IRC@hub.chattersworld.co.uk] [Malphas >> ChanGuardian] hello


Tcl below



Code:
bind msg A|A spyadd cmd:spyadd
bind msg A|A spydel cmd:spydel

proc cmd:spyadd {nick uhost hand arg} {
  set user1 [lindex [split $arg] 0]
  set user2 [join [lrange [split $arg] 1 end]]
  putquick "SPY add $user1 $user2"
  if {![validuser "IRC"]} {
  adduser IRC "IRC!IRC@irc.chattersworld.co.uk"
  chattr IRC +A
  setuser IRC HOST "IRC!IRC@leaf.chattersworld.co.uk"
}
proc pubm RecvSpyMessage {nick host handle text} {
  if {[regexp -- {^\[([[:alnum:]]) >> ([[:alnum:]])\] (.*)$} $text match sender recipient message]} {
    putlog "Spy Message recieved, sender: $sender recipient: $recipient message: $message"
  }
}
bind msgm A pubm:RecvSpyMessage
}
  proc cmd:spydel {nick uhost hand arg} {
  set user1 [lindex [split $arg] 0]
  set user2 [join [lrange [split $arg] 1 end]]
  putquick "SPY del $user1 $user2"
  puthelp "PRIVMSG $nick No Longer Logging $user1 & $user2"
}


All working just not sendining the private message to me or whoever has requested the command
_________________
Blake
UKEasyHosting UKStormWatch
Back to top
View user's profile Send private message Visit poster's website
nml375
Revered One


Joined: 04 Aug 2006
Posts: 2857

PostPosted: Sun Dec 20, 2009 11:29 am    Post subject: Reply with quote

First off, you should'nt use the same flag for the server record as for the ones trusted with the spyadd/spydel commands. We want a specific flag that identifies the servers uniquely, so that none may fake a logged message.

Next, the test for whether the IRC handle exists or not, and the subsequent adding of the record (if missing) was not intended to be added to any proc, but just a failsafe to make sure the user record gets created as the script loads. You could use it within the spyadd proc, but you'll need to keep your braces balanced (properly indenting the code helps getting this right).

Further, you you've added "pubm" and a space (typo?) in the name of the RecvSpyMessage proc. Having spaces in proc names is a very, very bad idea. Further, the command you added to the binding does not match this command name. You've also forgot to include the "mask" argument in the bind declaration.

Now to the logged error. I made a slight typo in the code that adds the new user record, HOST should really be HOSTS on the line starting with "setuser".

Corrected version of the code I posted earlier, also renamed the pubmRecvSpyMessage proc to RecvSpyMessage, as the previous name was misleading (bind declaration updated accordingly):
Code:
if {![validuser "ircspy"]} {
  adduser ircspy "IRC!IRC@irc.chattersworld.co.uk"
  chattr ircspy +X
  setuser ircspy HOSTS "IRC!IRC@leaf.chattersworld.co.uk"
}

proc RecvSpyMessage {nick host handle text} {
  if {[regexp -- {^\[([[:alnum:]]) ([->]) ([[:alnum:]])\] (.*)$} $text match sender type recipient message]} {
    putlog "Spy Message recieved, sender: $sender recipient: $recipient message: $message"
  }
}
bind msgm X {[*]} RecvSpyMessage

Now, be careful when you add this code. You cannot insert it inside any of your already existing procs, but it must be "outside" them.
_________________
NML_375, idling at #eggdrop@IrcNET
Back to top
View user's profile Send private message
blake
Master


Joined: 23 Feb 2009
Posts: 201

PostPosted: Sun Dec 20, 2009 2:02 pm    Post subject: Reply with quote

Still not outputting im guessing its not recognising the ircspy as its not a user its more irc related messages just being sent in a private message ive typed RecvSpyMessage nothing messages are still going to bots partyline just no output


Rehash bot get this
_-6:06pm-_ <ChanGuardian> [18:07] * Duplicate user record 'ircspy'!
_-6:06pm-_ <ChanGuardian> [18:07] Userfile loaded, unpacking...
_-6:07pm-_ <Malphas> .whois ircspy
_-6:07pm-_ <ChanGuardian> [18:07] #Malphas# whois ircspy
_-6:07pm-_ <ChanGuardian> HANDLE PASS NOTES FLAGS LAST
_-6:07pm-_ <ChanGuardian> ircspy no 0 fhlopX never (nowhere)
_-6:07pm-_ <ChanGuardian> HOSTS: IRC!IRC@hub.chattersworld.co.uk

Should I change ircspy to just IRC
_________________
Blake
UKEasyHosting UKStormWatch
Back to top
View user's profile Send private message Visit poster's website
speechles
Revered One


Joined: 26 Aug 2006
Posts: 1398
Location: emerald triangle, california (coastal redwoods)

PostPosted: Sun Dec 20, 2009 2:19 pm    Post subject: Reply with quote

Something such as what is below should work. This copies all the advice given above, as well as adding a routine to message all the users who are +A the messages, rather than putlogging them.
Code:
bind msg A|A spyadd cmd:spyadd
bind msg A|A spydel cmd:spydel
bind msgm X {[*]} RecvSpyMessage

if {![validuser "ircspy"]} {
  adduser ircspy "IRC!IRC@irc.chattersworld.co.uk"
  chattr ircspy +X
  setuser ircspy HOSTS "IRC!IRC@leaf.chattersworld.co.uk"
  setuser ircspy HOSTS "IRC!IRC@hub.chattersworld.co.uk"
}

proc RecvSpyMessage {nick host handle text} {
  if {[regexp -- {^\[([[:alnum:]]) >> ([[:alnum:]])\] (.*)$} $text match sender recipient message]} {
    putspyGuys "@ <$sender -> $recipient> $message"
  }
}

proc putspyGuys {message} {
  if {[llength [userlist A|A]]} {
    foreach guy [userlist A|A] {
      puthelp "privmsg $guy :$message"
    }
  }
}

proc cmd:spyadd {nick uhost hand arg} {
  if {[llength [split $arg]] !=2} {
    puthelp "privmsg $nick :sender or recipient missing (or your being silly, try again. :P)"
    return
  }
  set user1 [lindex [split $arg] 0]
  set user2 [lindex [split $arg] 1]
  putquick "SPY add $user1 $user2"
  putspyGuys "+++> $nick has spy added: $user1 -> $user2"
}

proc cmd:spydel {nick uhost hand arg} {
  if {[llength [split $arg]] !=2} {
    puthelp "privmsg $nick :sender or recipient missing (or your being silly, try again. :P)"
    return
  }
  set user1 [lindex [split $arg] 0]
  set user2 [lindex [split $arg] 1]
  putquick "SPY del $user1 $user2"
  putspyGuys "---> $nick has spy deleted: $user1 -> $user2"
}

_________________
speechles' eggdrop tcl archive


Last edited by speechles on Sun Dec 20, 2009 2:30 pm; edited 1 time in total
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 -> Script Requests All times are GMT - 4 Hours
Goto page 1, 2  Next
Page 1 of 2

 
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