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 

can u make count script on join

 
Post new topic   Reply to topic    egghelp.org community Forum Index -> Script Requests
View previous topic :: View next topic  
Author Message
4mirc
Voice


Joined: 16 May 2008
Posts: 37

PostPosted: Sat Jun 28, 2008 12:40 am    Post subject: can u make count script on join Reply with quote

hi all

can any 1 make script for my bot to count users on join

i mean when any user join chan let the bot notice him

hi 4mirc You are the user nuber 1 joining this chan

and for example next user join her nick sara

let the bot notice her

hi sara You are the user nuber 2 joining this chan

im waiting and thx
Back to top
View user's profile Send private message Visit poster's website
tueb
Halfop


Joined: 04 Oct 2007
Posts: 76
Location: #quiz.de @ irc.gamesurge.net

PostPosted: Sat Jun 28, 2008 4:13 am    Post subject: Reply with quote

hi,

this might work:


Code:
bind join - * chan_on_joined

proc chan_on_joined {nick host handle channel} {

 set fname "count.txt"

 ##
 if {![file exists $fname]} {
    set file [open $fname w]
    puts $file "0"
    close $file
 }
 ##


 set file [open $fname "r"]
 set data [read -nonewline $file]
 close $file

 set newdata [incr data]

 set greet_text "Hi $nick! You are the user number $newdata joining $channel."
 puthelp "PRIVMSG $channel :$greet_text"

 set file [open $fname w]
 puts $file $newdata
 close $file
}


this part could be deleted after the first try. it only creates the count.txt once:

Code:
 ##
 if {![file exists $fname]} {
    set file [open $fname w]
    puts $file "0"
    close $file
 }
 ##


tueb
_________________
#Quiz.de @ irc.GameSurge.net
JavaChat
Back to top
View user's profile Send private message Visit poster's website
4mirc
Voice


Joined: 16 May 2008
Posts: 37

PostPosted: Sun Jun 29, 2008 8:00 pm    Post subject: Reply with quote

thx tueb

its working 100%
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: Mon Jun 30, 2008 10:49 am    Post subject: Reply with quote

Such a script already exists. Search the Tcl Archive.
_________________
Follow me on GitHub

- Opposing

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


Joined: 27 Jul 2008
Posts: 19

PostPosted: Sun Jul 27, 2008 3:19 pm    Post subject: Reply with quote

4mirc wrote:
thx tueb

its working 100%

maybe you need this either for kick/ban counter
Code:
#This is a basic kick and join counter. This script requires that
#userinfo1.0.tcl is loaded before this script is. And also that KICKS is a
#field in the userinfo1.0.tcl script. I would appreciate it, if you left my
#nick in the putlog. Any changes, improvements, or problems plz don't hesitate
#to email me at abodnar@mail.utexas.edu
# --Neuromancer

#New to v2.0
#------------------------------------------------------------------------------
#- Added cmds to let you find out the total amount of joins to a channel by doing
#either .totaljoins [#channel] in the bot or !totaljoins [#channel] in the
#channel, #channel is optional.
#- Added cmds to let you find out the total amount of kicks for a channel
#or a person by doing either .totalkicks [nick] in the bot or
#!totalkicks [nick] in the channel, nick is optional.
#- Cleaned up some of the code dealing w/ the files
#- Made the # given when someone joins have the proper ending...
#ie. 1 = 1st, 2 = 2nd, 263 = 263rd


if {![info exists userinfover] } {
 putlog "*** Can't load Counter 2.0 -- Userinfo v1.01 required"
 return 0
}

bind pub f|f !totaljoins pub:totaljoins
bind dcc f|f totaljoins dcc:totaljoins
bind join -|- * joincounter
bind pub f|f !totalkicks pub:totalkicks
bind dcc f|f totalkicks dcc:totalkicks
bind kick -|- * kickcounter
set khits 0
set jhits 0

proc convert {number} {
 set one st
 set two nd
 set three rd
 set others th
 set numlength [string length $number]
 incr numlength -2
 set num2ndchar [string index $number $numlength]
 switch $num2ndchar {
  1 { set number $number$others }
  default {
   incr numlength
   set numchar [string index $number $numlength]
   switch $numchar {
    1 { set number $number$one }
    2 { set number $number$two }
    3 { set number $number$three }
    default { set number $number$others }
   }
  }
 }
 return $number
}

proc dcc:totaljoins {hand idx arg} {
 if {$arg == ""} {
  set temp 0
  set chan [lindex [console $idx] 0]
  set rchan [string tolower $chan]
  if {[file exists ./scripts/$rchan.jcount.txt]} {
   set o_fid [open "./scripts/$rchan.jcount.txt" "RDONLY"]
   gets $o_fid temp
   close $o_fid
   putdcc $idx "$temp orang yang sudah berkunjung ke $rchan"
   return 0
  } else {
   putdcc $idx "Sorry, no one has visited $rchan yet"
  }
 } else {
  set temp 0
  set rchan [string tolower $arg]
  if {[file exists ./scripts/$rchan.jcount.txt]} {
   set o_fid [open "./scripts/$rchan.jcount.txt" "RDONLY"]
   gets $o_fid temp
   close $o_fid
   putdcc $idx "$temp orang yang sudah berkunjung ke $rchan"
   return 0
  } else {
   putdcc $idx "Sorry, no one has visited $rchan yet"
  }
 }
}

proc pub:totaljoins {nick host hand chan arg} {
 if { $arg == "" } {
  set temp 0
  set rchan [string tolower $chan]
  if {[file exists ./scripts/$rchan.jcount.txt]} {
   set o_fid [open "./scripts/$rchan.jcount.txt" "RDONLY"]
   gets $o_fid temp
   close $o_fid
   putserv "PRIVMSG $chan :$temp orang yang sudah berkunjung ke $chan"
   return 0
  } else {
   putserv "PRIVMSG $chan :Sorry, no one has visited $rchan yet"
  }
 } else {
  set temp 0
  set rchan [string tolower $arg]
  if {[file exists ./scripts/$rchan.jcount.txt]} {
   set o_fid [open "./scripts/$rchan.jcount.txt" "RDONLY"]
   gets $o_fid temp
   close $o_fid
   putserv "PRIVMSG $chan :$temp orang yang sudah berkunjung ke $rchan"
   return 0
  } else {
   putserv "PRIVMSG $chan :Sorry, no one has visited $rchan yet"
  }
 }
}

proc joincounter {nick host hand chan} {
 global jhits
 set temp 0
 set rchan [string tolower $chan]
 if {[file exists ./scripts/$rchan.jcount.txt]} {
  set o_fid [open "./scripts/$rchan.jcount.txt" "RDONLY"]
  gets $o_fid temp
  close $o_fid
 } else {
  set o_fid [open "./scripts/$rchan.jcount.txt" "CREAT RDWR"]
  puts $o_fid temp
  close $o_fid
 }
 set jhits $temp
 incr jhits
 putserv "NOTICE $nick :selamat datang. kamu adalah orang ke [convert $jhits] yang sudah berkunjung ke $chan"
 set o_id [open "./scripts/$rchan.jcount.txt" "WRONLY"]
 puts $o_id $jhits
 close $o_id
}


proc dcc:totalkicks {hand idx arg} {
 if {$arg == ""} {
  set temp 0
  set chan [lindex [console $idx] 0]
  set rchan [string tolower $chan]
  if {[file exists ./scripts/$rchan.kcount.txt]} {
   set o_fid [open "./scripts/$rchan.kcount.txt" "RDONLY"]
   gets $o_fid temp
   close $o_fid
   putdcc $idx "$temp people have been kicked from $rchan"
   return 0
  } else {
   putdcc $idx "Sorry, no one has been kicked from $rchan yet"
  }
 } else {
  set temp 0
  set nick [string tolower $arg]
  if {[validuser $nick]} {
   if {[getuser $nick XTRA KICKS] == ""} {
    putdcc $idx "$arg hasn't kicked anyone yet"
   } else {
    set tkicks [getuser $nick XTRA KICKS]
    putdcc $idx "$arg has kicked $tkicks lamers"
   }
  } else {
   putdcc $idx "I do not know who $arg is"
  }
 }
}       

proc pub:totalkicks {nick host hand chan arg} {
 if {$arg == ""} {
  set temp 0
  set rchan [string tolower $chan]
  if {[file exists ./scripts/$rchan.kcount.txt]} {
   set o_fid [open "./scripts/$rchan.kcount.txt" "RDONLY"]
   gets $o_fid temp
   close $o_fid
   putserv "PRIVMSG $chan :$temp people have been kicked from $rchan"
   return 0
  } else {
   putserv "PRIVMSG $chan :Sorry, no one has been kicked from $rchan yet"
  }
 } else {
  set temp 0
  set nick [string tolower $arg]
  if {[validuser $nick]} {
   if {[getuser $nick XTRA KICKS] == ""} {
    putserv "PRIVMSG $chan :$arg hasn't kicked anyone yet"
   } else {
    set tkicks [getuser $nick XTRA KICKS]
    putserv "PRIVMSG $chan :$arg has kicked $tkicks lamers"
   }
  } else {
   putserv "PRIVMSG $chan :I do not know who $arg is"
  }
 }
}

proc kickcounter {nick host hand chan knick reason} {
 global khits
 set temp 0
 set rchan [string tolower $chan]
 if {[file exists ./scripts/$rchan.kcount.txt]} {
  set o_fid [open "./scripts/$rchan.kcount.txt" "RDONLY"]
  gets $o_fid temp
  close $o_fid
 } else {
  set o_fid [open "./scripts/$rchan.kcount.txt" "CREAT RDWR"]
  puts $o_fid temp
  close $o_fid
 }
 set khits $temp
 incr khits
 if {[validuser [nick2hand $nick $chan]]} {
  if {[getuser $hand XTRA KICKS] == ""} {
   setuser $hand XTRA KICKS 0
  }
  set tkicks [getuser $hand XTRA KICKS]
  incr tkicks
  setuser $hand XTRA KICKS $tkicks
  putserv "PRIVMSG $chan :$nick udah ngekick $tkicks nickname. siapa selanjutnya? hehehe"
 }
 putserv "NOTICE $knick :kamu adalah orang ke [convert $khits] yang sudah di kick dari $chan"
 putserv "PRIVMSG $chan :$knick adalah orang ke [convert $khits] yang sudah di kick dari $chan"
 set o_id [open "./scripts/$rchan.kcount.txt" "WRONLY"]
 puts $o_id $khits
 close $o_id
}

putlog "Join & Kick Counter v2.1 by Neuromancer"

_________________
Bahasa Indonesia
Back to top
View user's profile Send private message Visit poster's website Yahoo Messenger
Display posts from previous:   
Post new topic   Reply to topic    egghelp.org community Forum Index -> Script Requests 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