This is the new home of the egghelp.org community forum.
All data has been migrated (including user logins/passwords) to a new phpBB version.


For more information, see this announcement post. Click the X in the top right-corner of this box to dismiss this message.

Userlist with specific flag

Requests for complete scripts or modifications/fixes for scripts you didn't write. Response not guaranteed, and no thread bumping!
Post Reply
P
Psyfire
Voice
Posts: 36
Joined: Sun Nov 05, 2006 12:32 pm

Userlist with specific flag

Post by Psyfire »

Hello,

I need a small script where you are able to add users, which are on a channel. You store them into a list, by their hostname, with a flag and a position.

Example:

!add <user> <position> <flag>

Bot: User was added in the position "Clan Member" with the botflag f.

Of course I would need a command for deleting them and listing them.

Thank you :-)
User avatar
iamdeath
Master
Posts: 323
Joined: Fri Feb 11, 2005 2:32 pm
Location: *HeLL*
Contact:

Post by iamdeath »

Code: Select all

# AddOp Script v2.0 for Eggdrop 1.3.x by Digger <Digger@hadiko.de>
# http://elreggid.home.pages.de (BOTs-homepage)
# http://digger.home.pages.de (my homepage)
#  
# This script is originally by KuRuPTioN.
# I made it suitable for eggdrop 1.3.x and made some useful changes 
# for using with the new flag-system.
##########################################################################
# Allows masters and owners to add global users with +of-flags (.addsop)
# Allows channelmasters, channelowners, masters and owners
# to add users with +of on their channels (.addop).
#
# Commands (pub):
#  .addop <nick> <flags>  -  Adds an Op for that channel only ; <flags> changes flags for user
#	on that channel as well
#  .addsop <nick> <flags> - Adds an Op for all channels ; <flags> updates
#	flags for all channels.
#
##########################################################################

set newflags "of"     
   # Flags for new ops
set addopflag "m|m"     
   # Flag required to add channelop (&m = Channelmaster, &n = Channelowner etc.)
set addsopflag "m"     
   # Flag required to add global op

#########################################################################
# DO NOT EDIT ANYTHING BELOW
#########################################################################

bind pub $addopflag .addop add_op_norm

proc add_op_norm {n u h c a} {
  global botnick newflags
  if {[lindex $a 0] == ""} {
	putserv "NOTICE $n :Format: .addop <nickname> <extra flags>"
	putserv "NOTICE $n :Extra Flags: n(owner), m (master), f (friend)"
      return 1
  } 
  set newop [lindex $a 0]
  if {[onchan $newop $c] == 0} {
	putserv "NOTICE $n :$newop is not on $c.  You will need to add him/her manually through a DCC chat"
      return 1
  }
  if {[lindex $a 1] != ""} {
	set exflags [lindex $a 1]o
  } { set exflags $newflags }
  
  set newhost [maskhost [getchanhost $newop $c]]

  if {[validuser $newop] == 1} {
     if {[lsearch [getuser $newop hosts] $newhost] == "-1"} {
       putserv "NOTICE $n :$newop exists in my database.  Adding flags and hostmask."
       chattr $newop |+$newflags $c
       setuser $newop hosts $newhost
       putserv "NOTICE $newop :Your flags have been upgraded to $exflags on $c and your new host \[$newhost\] has been added."
       return 1
     } {
     putserv "NOTICE $n :$newop exists in my database.  Adding flags."
     chattr $newop |+$newflags $c
     putserv "NOTICE $newop :Your flags have been upgraded to $exflags on $c."
     return 1 }
  }  

  if {[finduser $newhost] != "*"} { 
	putserv "NOTICE $n :$newop\[$newhost\] is known as user [finduser $newhost]"
 	return 1
  }
 
  adduser $newop $newhost
  
  if {[chattr $newop |+$newflags $c] == "*"} {
  	putserv "NOTICE $n :Error adding flags to $newop."
	return 1
  }
  putserv "NOTICE $n :$newop\[$newhost\] has been added $exflags on $c"
  putserv "NOTICE $newop :Congradulations $newop!"
  putserv "NOTICE $newop :$n has given you Ops with flags $exflags on $c."
  putserv "NOTICE $newop :Please set a password: /msg $botnick pass <password>"
  putserv "NOTICE $newop :where <password> is your selected password."
  putserv "NOTICE $newop :You can get ops by: /msg $botnick op <password>"
  save
}

bind pub $addsopflag .addsop add_op_super

proc add_op_super {n u h c a} {
  global botnick newflags
  if {[lindex $a 0] == ""} {
	putserv "NOTICE $n :Format: .addsop <nickname> <extra flags>"
	putserv "NOTICE $n :Extra Flags: n(owner), m (master), f (friend)"
      return 1
  } 
  set newop [lindex $a 0]
  if {[onchan $newop $c] == 0} {
	putserv "NOTICE $n :$newop is not on $c.  You will need to add him/her manually through a DCC chat"
      return 1
  }
  if {[lindex $a 1] != ""} {
	set exflags [lindex $a 1]o
  } { set exflags $newflags }
 
  set newhost [maskhost [getchanhost $newop $c]]
 
  if {[validuser $newop] == 1} {
     if {[lsearch [getuser $newop hosts] $newhost] == "-1"} {
       putserv "NOTICE $n :$newop exists in my database.  Adding flags and hostmask."
       chattr $newop |+$newflags $c
       setuser $newop hosts $newhost
       putserv "NOTICE $newop :Your flags have been upgraded to $exflags and your new host \($newhost\) has been added."
       return 1
     } {
     putserv "NOTICE $n :$newop exists in my database.  Adding flags."
     chattr $newop |+$newflags $c
     putserv "NOTICE $newop :Your flags have been upgraded to $exflags."
     return 1 }
  }  

  if {[finduser $newhost] != "*"} { 
	putserv "NOTICE $n :$newop\[$newhost\] is known as user [finduser $newhost]"
 	return 1
  }
  
  adduser $newop $newhost
  chattr $newop |+$newflags

  putserv "NOTICE $n :$newop\[$newhost\] has been added with flags $exflags"
  putserv "NOTICE $newop :WOW! Congradulations $newop!"
  putserv "NOTICE $newop :$n has given you SuperOps with flags $exflags on all channels I am on."
  putserv "NOTICE $newop :Please set a password: /msg $botnick pass <password>"
  putserv "NOTICE $newop :where <password> is your selected password."
  putserv "NOTICE $newop :You can get ops by: /msg $botnick op <password>"
  save
}

putlog "Addop v2.0 for Eggdrop1.3.x by Digger loaded..."
I did'nt get "Clan Members" part, explain more.
P
Psyfire
Voice
Posts: 36
Joined: Sun Nov 05, 2006 12:32 pm

Post by Psyfire »

Imagine you add a user with this command:

!add <user> <position> <flag>

If you got Clanmember and Clanowner, you add them like this.

!add User1 Clan Member f
!add User2 Clan Owner o

If you type now !list, you get this

Bot: User 1 | Clan Member | Flag: f
Bot: User 2 | Clan Owner | Flag: o
User avatar
Alchera
Revered One
Posts: 3344
Joined: Mon Aug 11, 2003 12:42 pm
Location: Ballarat Victoria, Australia
Contact:

Post by Alchera »

Search the forums and/or Tcl Archive and you should find a number of clan scripts.
Add [SOLVED] to the thread title if your issue has been.
Search | FAQ | RTM
Post Reply