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 

Userlist with specific flag

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


Joined: 05 Nov 2006
Posts: 36

PostPosted: Tue Mar 27, 2007 9:09 am    Post subject: Userlist with specific flag Reply with quote

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 Smile
Back to top
View user's profile Send private message
iamdeath
Master


Joined: 11 Feb 2005
Posts: 323
Location: *HeLL*

PostPosted: Tue Mar 27, 2007 10:27 am    Post subject: Reply with quote

Code:
# 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.
Back to top
View user's profile Send private message Visit poster's website
Psyfire
Voice


Joined: 05 Nov 2006
Posts: 36

PostPosted: Tue Mar 27, 2007 10:41 am    Post subject: Reply with quote

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
Back to top
View user's profile Send private message
Alchera
Revered One


Joined: 11 Aug 2003
Posts: 3344
Location: Ballarat Victoria, Australia

PostPosted: Tue Mar 27, 2007 6:37 pm    Post subject: Reply with quote

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
Back to top
View user's profile Send private message Visit poster's website
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