Proffesionel HelpDesk

Do you have script in mind but no ability to make it, type in what it should do, and you might be lucky.

Proffesionel HelpDesk

Postby Jerzy » Sun May 03, 2009 3:20 pm

Hej sp00fed.org (:
I talked with Sumsar in pm, on IRC and i tried to request a script, and he told me i should make a topic on the homepage (:
it's a month ago now, and sorry for the delay :b.

But i seek a helpdesk script with new features (:

Admin Options (Op/Voice)
.login (loggin in to the helpdesk)
.logout (loggin out of the helpdesk)
.næste (the next in the queue will get help)
.færdig (close the helpdesk, if someone is in the queue to get help he will be removed from the queue. and he got to type .admin <question> again.)

User Options (User, Op and Voice)
.Admin <Question> (Sends a PM to all op and voice on the chan that he need help, and he who writes it will getting in the queue. If noone admin (voice and op) is online, he will get a notice where he can get help else than the HelpDesk)
.Online (Shows all the admins (op and voice) who is online, if noone is online he will get a notice where he can get helpelse than the helpdesk)
.Fortryd (removes him from the queue to get help, op and voice will get a PM that he change hes mind)

i hope Sumsar or another will make the script for me, because i really need it (:

// Jerzy!
Jerzy
 

Re: Proffesionel HelpDesk

Postby Cristian » Sun May 03, 2009 4:18 pm

heya, after we talked I did some coding on the script, and I can see that you have added something extra.

Give me some time and I'll see what I can do. :)
Cristian
proof of advance
proof of advance
 
Posts: 282
Joined: Sun Nov 04, 2007 3:02 pm
Location: Denmark
Authnick: Sumsar

Re: Proffesionel HelpDesk

Postby Jerzy » Sun May 03, 2009 4:43 pm

thanks man, your the best! (:
Jerzy
 

Re: Proffesionel HelpDesk

Postby Cristian » Thu May 07, 2009 9:53 pm

I hope this helps you, the text output is still in English, I have changed the commands to what you requested.

Commands:
Administrators
    .login
    .logout
    .næste
    .færdig
    .kø
All
    .admin
    .fortryd
    .online
Change:

    Nospam channel (default 10)
    Nospam nickname (default 10)
    Tag (default [Helpdesk])
    Channel (default #channel)


If you have ideas to new improvements please post them here.

Code: Select all
;# 
;# visit http://sp00fed.org for updates or support.
;# script by Sumsar
;#

;# Setup

; time to ignore channel text commands (in seconds)
alias -l ::helpdesk::nospam::channel { return 10 }
; time to ignore nickname's text commands (in seconds)
alias -l ::helpdesk::nospam::nick { return 10 }
; tag shown in text output
alias -l ::helpdesk::tag { return [Helpdesk] }


;# Code

on *:TEXT:*:#:{
  set %hostname $gettok($address($nick,5),2,33)
  if ($istok($+($chr(43),.,$chr(64)),$left($nick($chan,$nick).pnick,1),46)) {
    if ($1 == .login) {
      set %::helpdesk::admin::online $addtok(%::helpdesk.online,%hostname,32)
      set %::helpdesk::admin::offline $remtok(%::helpdesk.offline,%hostname,32)
      .msg $chan $nick is now online
    }
    if ($1 == .logout) {
      set %::helpdesk::admin::offline $addtok(%::helpdesk.offline,%hostname,32)
      set %::helpdesk::admin::online $remtok(%::helpdesk.online,%hostname,32)
      .msg $chan $nick is now offline
    }
    if ($1 == .næste) {
      if ($numtok(%::helpdesk::help::hostnames,32) > 0) {
        set %hostname $gettok(%::helpdesk::help::hostnames,1,32)
        set %nickname $ialchan($+(*!*,%hostname),$chan,1).nick

        if (!$matchtok(%::helpdesk::next::hostnames,%hostname,0,32)) {

          set %::helpdesk::help::hostnames $remtok(%::helpdesk::help::hostnames,%hostname,32)
          set %::helpdesk::next::hostnames $addtok(%::helpdesk::next::hostnames,%hostname,32)

          .msg $chan $::helpdesk::tag $+(%nickname,$chr(44)) please state your question.
        }
      }
    }
    if ($1 == .færdig) && ($2) {
      set %hostname $gettok($address($2,5),2,33)
      if ($matchtok(%::helpdesk::next::hostnames,%hostname,0,32)) {
        set %::helpdesk::next::hostnames $remtok(%::helpdesk::next::hostnames,%hostname,32)
        .msg $chan $::helpdesk::tag $2 is done - $numtok(%::helpdesk::help::hostnames,32) in queue.
      }
    }
    if ($1 == .kø) {
      .msg $chan $::helpdesk::tag There is $numtok(%::helpdesk::help::hostnames,32) in queue.
    }
  }


  if (!%::helpdesk::variable::nospam:: [ $+ [ $wildsite ] ] && !%::helpdesk::variable::nospam:: [ $+ [ $chan ] ]) {
    set $+(-u,$::helpdesk::nospam::nick) %::helpdesk::variable::nospam:: [ $+ [ $wildsite ] ] 1
    set $+(-u,$::helpdesk::nospam::channel) %::helpdesk::variable::nospam:: [ $+ [ $chan ] ] 1

    if ($1 == .admin) {
      if (!$matchtok(%::helpdesk::help::hostnames,%hostname,1,32)) && (!$matchtok(%::helpdesk::next::hostnames,%hostname,1,32)) {
        set %::helpdesk::help::hostnames $addtok(%::helpdesk::help::hostnames,%hostname,32)
        .msg $chan $::helpdesk::tag adding $nick to queue, there is now $numtok(%::helpdesk::help::hostnames,32) in queue.
      }
    }
    if ($1 == .fortryd) {
      set %result $::helpdesk::remove::queue($gettok($address($nick,5),2,33))
    }
    if ($1 == .online) {
      var %online, %offline

      var %z = $numtok(%::helpdesk::admin::online,32)
      while (%z) {
        set %hostname $gettok(%::helpdesk::admin::online,%z,32)
        set %nickname $ialchan($+(*!*,%hostname),$chan,1).nick
        set %online %online %nickname
        dec %z
      }

      var %c = $numtok(%::helpdesk::admin::offline,32)
      while (%c) {
        set %hostname $gettok(%::helpdesk::admin::offline,%c,32)
        set %nickname $ialchan($+(*!*,%hostname),$chan,1).nick
        set %offline %offline %nickname
        dec %c
      }
      if ($numtok(%online,32) == 0) {
        .msg $chan $::helpdesk::tag No one is online, please send us an email.
      }
      else {
        .msg $chan $::helpdesk::tag Administrators: Online %online - Offline %offline
      }
    }
  }
}

on *:QUIT: { set %result $::helpdesk::remove::queue($gettok($address($nick,5),2,33)) }
on *:PART:#: { set %result $::helpdesk::remove::queue($gettok($address($nick,5),2,33)) }
on *:KICK:#: { set %result $::helpdesk::remove::queue($gettok($address($knick,5),2,33)) }

alias -l ::helpdesk::remove::queue {
  set %hostname $1
  if ($matchtok(%::helpdesk::help::hostnames,%hostname,1,32)) {
    set %::helpdesk::help::hostnames $remtok(%::helpdesk::help::hostnames,%hostname,32)
  }
  if ($matchtok(%::helpdesk::next::hostnames,%hostname,1,32)) {
    set %::helpdesk::next::hostnames $remtok(%::helpdesk::next::hostnames,%hostname,32)
  }
}
Cristian
proof of advance
proof of advance
 
Posts: 282
Joined: Sun Nov 04, 2007 3:02 pm
Location: Denmark
Authnick: Sumsar

Re: Proffesionel HelpDesk

Postby Jerzy » Fri May 08, 2009 8:44 pm

.Fortryd virker ikke :(
Plus Man skulle gerne skrive .Admin <Problem/Spørgsmål> , man skriver kun .Admin
Nu havde jeg så os glemt hvor <Problemet/Spørgsmålet> så skulle stå henne. Tænkte hvis man nu skrev .Næste så noget med den næste i køen er $nick med problem/spørgsmålet: Hvorfor virker hjemmesiden ikke?
og hvis man skrev .Kø så ville der stå rækken i køen: 1. Jerzy (Hvorfor virker hjemmesiden ikke?) - 2. Arctic^ (Hvornår er designet oppe?)

Lavet et lille bitte edit, som kunne være fedt nok at få lavet (:. Når en admin skriver .Næste så kunne det være fedt hvis den så sagde f.eks: Jerzy du får nu hjælp af Sumsar


Har lige valgt at lave endnu et edit da jeg fandt en fejl
Når alle admins er offline og man nu skriver .Admin så bliver man stadig sat i kø til support. den skulle jo gerne Lukke desken.
Hvis det nu er muligt kunne det være fedt, hvis du kunne lave en command der hedder .Luk som så vil lukke desken, hvis nu andre admins er online og så man ikk behøver bede dem at gå offline eller at man skal devoice/deop dem. og når man så skriver .Luk skal den helst ikke unload da man så skal manuelt load den igen :)

Den sidste fejl er at .Færdig stadig ikk virker, glemte at teste den første gang.

Kunne være fedt hvis du ville lavle det edit (:
// Jerzy
Jerzy
 

Re: Proffesionel HelpDesk

Postby Cristian » Sun May 10, 2009 4:33 pm

I'll continue in English so others can follow the development.

I have failed to inform you correctly about the use of this script.
You can't type .done <nickname> if <nickname> isn't next in line.


(@Sumsar): .help
(@Helpdesk): [Helpdesk] adding Sumsar to queue, there is now 1 in queue.
(@Sumsar): .done Sumsar <-- nothing happens <nickname> is not next in line -->
(@Sumsar): .queue
(@Helpdesk): [Helpdesk] There is 1 in queue.
(@Sumsar): .next
(@Helpdesk): [Helpdesk] Sumsar, please state your question. <-- <nickname> is in line -->
<-- Admin and user talk -->
(@Sumsar): .done Sumsar
(@Helpdesk): [Helpdesk] Sumsar is done - 0 in queue.
Cristian
proof of advance
proof of advance
 
Posts: 282
Joined: Sun Nov 04, 2007 3:02 pm
Location: Denmark
Authnick: Sumsar

Re: Proffesionel HelpDesk

Postby Futz0r » Sun May 10, 2009 5:28 pm

its nice sumsar, it working, i have tested it :) - i can use it to my bnc "hosting" :D
Futz0r
 

Re: Proffesionel HelpDesk

Postby Cristian » Sun May 10, 2009 5:32 pm

I'm working on an update, adding some of Jerzy ideas in it.
Cristian
proof of advance
proof of advance
 
Posts: 282
Joined: Sun Nov 04, 2007 3:02 pm
Location: Denmark
Authnick: Sumsar

Re: Proffesionel HelpDesk

Postby Futz0r » Sun May 10, 2009 5:41 pm

Ohh. i'll wait too so :)
Futz0r
 

Re: Proffesionel HelpDesk

Postby Jerzy » Sun May 10, 2009 7:17 pm

.Færdig not's working
but if you type .færdig <nick> it's works (:
but it could be nice if there was just .Færdig there restarts the helpdesk script = removing all from the queue.
it' looks much as the command: .Luk but it isnt
the .Luk command close the helpdesk script so you cant type .admin but .online and .kø ect. will work

i hoped you could make a new cmd: .Åben to open the helpdesk script again

// Jerzy
Jerzy
 

Next

Return to Mirc Scripting Request

Who is online

Users browsing this forum: No registered users and 0 guests

cron