Posted to tcl by dandyn at Wed Mar 15 17:11:13 GMT 2023view pretty

bind pub -|- !random proc:random
proc proc:random {nick host handle channel arg} {


set ::card_deck [list $::card_2a $::card_2b $::card_2c $::card_2d \
                      $::card_3a $::card_3b $::card_3c $::card_3d \
                      $::card_4a $::card_4b $::card_4c $::card_4d \
                      $::card_5a $::card_5b $::card_5c $::card_5d \
                      $::card_6a $::card_6b $::card_6c $::card_6d \
                      $::card_7a $::card_7b $::card_7c $::card_7d \
                      $::card_8a $::card_8b $::card_8c $::card_8d \
                      $::card_9a $::card_9b $::card_9c $::card_9d \
                      $::card_Ta $::card_Tb $::card_Tc $::card_Td \
                      $::card_Ja $::card_Jb $::card_Jc $::card_Jd \
                      $::card_Qa $::card_Qb $::card_Qc $::card_Qd \
                      $::card_Ka $::card_Kb $::card_Kc $::card_Kd \
                      $::card_Aa $::card_Ab $::card_Ac $::card_Ad \
                ]

    set output [struct::list shuffle $::card_deck]
    putnow "PRIVMSG $channel : [lrange $output 0 4]"
}

set ::card_2a "\\00391`2\003\"
set ::card_2b "\\00352e2\003\"
set ::card_2c "\\00352f2\003\"
set ::card_2d "\\00391c2\003\"

set ::card_3a "\\00391`3\003\"
set ::card_3b "\\00352e3\003\"
set ::card_3c "\\00352f3\003\"
set ::card_3d "\\00391c3\003\"

set ::card_4a "\\00391`4\003\"
set ::card_4b "\\00352e4\003\"
set ::card_4c "\\00352f4\003\"
set ::card_4d "\\00391c4\003\"

set ::card_5a "\\00391`5\003\"
set ::card_5b "\\00352e5\003\"
set ::card_5c "\\00352f5\003\"
set ::card_5d "\\00391c5\003\"

set ::card_6a "\\00391`6\003\"
set ::card_6b "\\00352e6\003\"
set ::card_6c "\\00352f6\003\"
set ::card_6d "\\00391c6\003\"

set ::card_7a "\\00391`7\003\"
set ::card_7b "\\00352e7\003\"
set ::card_7c "\\00352f7\003\"
set ::card_7d "\\00391c7\003\"

set ::card_8a "\\00391`8\003\"
set ::card_8b "\\00352e8\003\"
set ::card_8c "\\00352f8\003\"
set ::card_8d "\\00391c8\003\"

set ::card_9a "\\00391`9\003\"
set ::card_9b "\\00352e9\003\"
set ::card_9c "\\00352f9\003\"
set ::card_9d "\\00391c9\003\"

set ::card_Ta "\\00391`T\003\"
set ::card_Tb "\\00352eT\003\"
set ::card_Tc "\\00352fT\003\"
set ::card_Td "\\00391cT\003\"

set ::card_Ja "\\00391`J\003\"
set ::card_Jb "\\00352eJ\003\"
set ::card_Jc "\\00352fJ\003\"
set ::card_Jd "\\00391cJ\003\"

set ::card_Qa "\\00391`Q\003\"
set ::card_Qb "\\00352eQ\003\"
set ::card_Qc "\\00352fQ\003\"
set ::card_Qd "\\00391cQ\003\"

set ::card_Ka "\\00391`K\003\"
set ::card_Kb "\\00352eK\003\"
set ::card_Kc "\\00352fK\003\"
set ::card_Kd "\\00391cK\003\"

set ::card_Aa "\\00391`A\003\"
set ::card_Ab "\\00352eA\003\"
set ::card_Ac "\\00352fA\003\"
set ::card_Ad "\\00391cA\003\"