Skip to content

Instantly share code, notes, and snippets.

@Techman
Created July 29, 2016 18:52
Show Gist options
  • Save Techman/9b5863414ddb92edfc3a9e21b65377c9 to your computer and use it in GitHub Desktop.
Save Techman/9b5863414ddb92edfc3a9e21b65377c9 to your computer and use it in GitHub Desktop.
#---------------------------------------------------------------------#
# TechJoose:SexDice v1.0a #
# #
# Rolls the sex dice on a random or chosen person #
# #
# Usage: #
# !sexdice [nick] #
# #
# ChangeLog: #
# 1.0a - First public alpha release #
# #
# TODO: #
# - More customization for display of information #
# - Ideas? Email me. #
# #
# http://www.techjoose.net #
# [email protected] #
# BeBoo @ irc.techjoose.net / #bar #
#---------------------------------------------------------------------#
#---------------------------------------------------------------------#
# #
# Settings #
# #
#---------------------------------------------------------------------#
namespace eval techjoose {
namespace eval sexdice {
# Set this to the command character you want to use for the binds.
# Only use one command character. (Default "!")
variable command_char "."
# Set this to your preferred binds separated by spaces. i.e. "one two"
# (Default "sexdice")
variable binds "sexdice"
#---------------------------------------------------------------------#
# ***End of Settings *** #
# Do not edit below this line unless you know what you are doing! #
#---------------------------------------------------------------------#
variable version "TechJoose:SexDice-1.0a"
variable versionNum "1.0a"
}
}
# bind the public bind
foreach bind [split $techjoose::sexdice::binds " "] {
bind pub -|- "${techjoose::sexdice::command_char}$bind" techjoose::sexdice::roll
}
namespace eval techjoose {
namespace eval sexdice {
proc roll {nick uhost handle chan args} {
global botnick
global rep
set mylist [chanlist $chan]
#
# Remove the bot from the list (life's too short to kiss bots!)
#
set wb [lsearch $mylist $botnick]
set mylist [lreplace $mylist $wb $wb]
#
# Remove the invoking nick from the list
#
set wn [lsearch $mylist $nick]
set mylist [lreplace $mylist $wn $wn]
# Check to see if they specified someone
if {[lindex $args 0] != ""} {
# Check to see if the nick is on the channel
if {![onchan [lindex $args 0] $chan]} {
putserv "PRIVMSG $chan :\002\00305\[\003 \00312SEX DICE\003 \00305\]\002\003 Sorry, ${nick}, [lindex $args 0] doesn't appear to be on this chan."
return
} else {
if {[lindex $args 0] == $nick } {putserv "PRIVMSG $chan :\002\00305\[\003 \00312SEX DICE\003 \00305\]\002\003 You can't roll the dice on yourself, ${nick}! That's no fun.";return}
set result [lindex $args 0]
}
} else {
#Choose someone randomly
set mylength [llength $mylist]
if {$mylength == 0} {
putserv "PRIVMSG $chan :Well, $nick, there's no one to play with! :("
return
}
set myindex [rand $mylength]
set result [lindex $mylist $myindex]
}
set dice1 {
"kiss"
"fondle"
"lick"
"suck"
"touch"
"nibble"
"do anything you want to"
"do anything you want to"
}
set dice2 {
"lips"
"neck"
"chest"
"ears"
"anywhere you want"
"anywhere you want"
"nipple"
"toe"
"ass"
"crotch"
}
putserv "PRIVMSG $chan :\002\00305\[\003 \00312SEX DICE\003 \00305\]\002\003 ${nick} rolled the Sex Dice!"
set choice1 [lindex $dice1 [rand [llength $dice1]]]
set choice2 [lindex $dice2 [rand [llength $dice2]]]
if {$choice2 == "anywhere you want" } {
putserv "PRIVMSG $chan :\002\00305\[\003 \00312SEX DICE\003 \00305\]\002\003 ${nick}, you have to ${choice1} ${result} ${choice2}!"
} else {
putserv "PRIVMSG $chan :\002\00305\[\003 \00312SEX DICE\003 \00305\]\002\003 ${nick}, you have to ${choice1} ${result} on the ${choice2}!"
}
}
}
}
putlog " - \002Sex Dice\002 version $techjoose::sexdice::versionNum loaded."
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment