All pastes #186533 Raw Edit

Poll Script

public text v1 · immutable
#186533 ·published 2006-09-30 03:03 UTC
rendered paste body
on *:text:*:#: {
  if ($1 == !poll) {
    if ($2 isnum) {
      inc %pollid 1
      set %voteyes [ $+ [ %pollid ] ] 0
      set %voteno [ $+ [ %pollid ] ] 0
      set %question [ $+ [ %pollid ] ] $3-
      set %pollnick [ $+ [ %pollid ] ] $nick
      set %pollchan [ $+ [ %pollid ] ] $chan
      set %polltime [ $+ [ %pollid ] ] %2-
      set %pollstatus [ $+ [ $chan ] ] on
      msg %pollchan [ $+ [ %pollid ] ] 2 $+ %pollnick [ $+ [ %pollid ] ] 5has started a new poll. Question:2 %question [ $+ [ %pollid ] ] $+ 5.
      msg %pollchan [ $+ [ %pollid ] ] 5To vote, type2 !yes 5or2 !no5. Vote will last02 $2 5minutes.
      .timer 1 $calc(%polltime [ $+ [ %pollid ] ] * 60) //polltally %pollid
    }
    else {
      msg $chan 5Syntax: 2!poll time in mintes for poll to last Question
    }
  }
  if ($1 == !yes || $1 == !no)  {
    if (%pollstatus [ $+ [ $chan ] ] == on) {
      if (%pollvoted [ $+ [ %pollid ] $+ [ $nick ] ] == Voted) {
        notice $nick 5You have already voted.
      }
      else {
        inc %vote [ $+ [ $remove($1,$chr(33)) ] $+ [ %pollid ] ] 1
        notice $nick 5Your vote of2 $remove($1,$left($1,1)) 5has been recieved. Thank you for voting.
        set %pollvoted [ $+ [ %pollid ] $+ [ $nick ] ] voted
      }
    }
    else {
      notice $nick 5Sorry but there is no current active poles at this time. To start a vote, type 2!poll minutes to last Question
    }
  }
}

alias polltally {
  set %poll2id [ $+ [ $1 ] ] $2
  msg %pollchan [ $+ [ %poll2id ] ] 5The poll for:2 %question [ $+ [ %poll2id ] ] 5has ended!
  msg %pollchan [ $+ [ %poll2id ] ] 5Yes:2 %voteyes [ $+ [ %poll2id ] ] 5No:2 %voteno [ $+ [ %poll2id ] ]
  msg %pollchan [ $+ [ %poll2id ] ] 2 $+ $round($calc((100 / (%voteyes [ $+ [ %poll2id ] ] + %voteno [ $+ [ %poll2id ] ])) * $iif(%voteyes [ $+ [ %poll2id ] ] > %voteno [ $+ [ %poll2id ] ],%voteyes [ $+ [ %poll2id ] ],%voteno [ $+ [ %poll2id ] ])),0) $+ $chr(37) 5voted2 $iif(%voteyes [ $+ [ %poll2id ] ] > %voteno [ $+ [ %poll2id ] ],yes,no) $+ .
  unset %question [ $+ [ %pollid ] ] | unset %pollnick [ $+ [ %pollid ] ] | unset %pollchan [ $+ [ %pollid ] ] | unset %polltime [ $+ [ %pollid ] ] | unset %pollstatus [ $+ [ $chan ] ]
}