|
Joined: Feb 2014
Posts: 9
Nutrimatic drinks dispenser
|
OP
Nutrimatic drinks dispenser
Joined: Feb 2014
Posts: 9 |
Hello I have been trying to make a Strawpoll using the command !vote option 1, option 2, option 3.... I have been able to get the !vote to work and be comma delimited but the sockets and posting back the correct hyperlink are confusing to me.
Last edited by LizardJammer; 14/02/14 03:41 AM.
|
|
|
|
Joined: Jan 2004
Posts: 1,358
Hoopy frood
|
Hoopy frood
Joined: Jan 2004
Posts: 1,358 |
Strawpoll only allows a single vote per IP address, so you won't be able to pass votes for other people.
|
|
|
|
Joined: Feb 2014
Posts: 9
Nutrimatic drinks dispenser
|
OP
Nutrimatic drinks dispenser
Joined: Feb 2014
Posts: 9 |
I am sorry, I have worded this wrong. The command !vote would be to create the poll only and display a link to the newly created poll. Maybe the command would be better as !CStrawPoll Option 1, Option 2, Option 3.
Thanks Loki12583 you are very active I have got information from some of your help you posted for others. It is very nice of you to be such a helpful person.
|
|
|
|
Joined: Jan 2004
Posts: 1,358
Hoopy frood
|
Hoopy frood
Joined: Jan 2004
Posts: 1,358 |
Syntax: "!poll title : a, b, c", title is optional and will be replaced with a default title "Poll", both ":" and "-" can be used to separate the title; spaces around the title delimiter are optional. This is tested and working: Examples: !poll Super Fun Title:a,b,c !poll Some Other Title - a, b, c !poll a, b, c on *:text:!poll *:#:{
var %regex = /(?:(.+?)\s*[:-]+\s*|())(.+?)$/iS
if ($regex($strip($2-),%regex)) {
var %title = $iif($regml(1),$v1,Poll)
var %options = $regsubex($regml(2),/\s* $+ $chr(44) $+ \s*/g,$chr(44))
}
else return
noop $strawpoll.create(#,%title,%options)
}
alias strawpoll.create {
var %chan = $1, %title = $urlencode($2), %options
var %multi = true, %permissive = false
var %i = 1, %n = $numtok($3,44)
while (%i <= %n) {
%options = %options $+ &options[]= $+ $urlencode($gettok($3,%i,44))
inc %i
}
var %sockname = strawpoll. $+ $ticks
hfree -w %sockname | hmake %sockname
hadd %sockname headerfile %sockname $+ .header.txt
hadd %sockname datafile %sockname $+ .data.txt
hadd %sockname host strawpoll.me
hadd %sockname request /ajax/new-poll
hadd %sockname method POST
hadd %sockname data $+(title=,%title,%options,&multi=,%multi,&permissive=,%permissive)
hadd %sockname signal strawpoll.create
hadd %sockname params %chan
sockopen %sockname $hget(%sockname,host) 80
}
on *:signal:strawpoll.create:{
var %err = $1, %sockname = $2, %header = $3, %data = $4, %chan = $5
if (* 200 OK iswm $read(%header,1)) && ($regex($read(%data,n,1),(\d+))) {
msg %chan http://strawpoll.me/ $+ $regml(1)
}
else msg %chan Could not create poll.
hfree -w %sockname
.remove %header | .remove %data
}
on *:sockopen:strawpoll.*:{
var %a = sockwrite -n $sockname
%a $hget($sockname,method) $hget($sockname,request) HTTP/1.0
%a Host: $hget($sockname,host)
%a Connection: close
if ($hget($sockname,data) != $null) {
%a Content-Type: application/x-www-form-urlencoded
%a Content-Length: $len($v1)
}
%a $+($crlf,$hget($sockname,data))
}
on *:sockread:strawpoll.*:{
var %header
var %headerfile = $hget($sockname,headerfile)
var %datafile = $hget($sockname,datafile)
if (!$hget($sockname,header.complete)) {
sockread %header
while (%header != $null) {
write %headerfile %header
sockread %header
}
if ($sockbr) hadd $sockname header.complete $true
}
if ($hget($sockname,header.complete)) {
sockread &read
while ($sockbr) {
bwrite %datafile -1 -1 &read
sockread &read
}
}
}
on *:sockclose:strawpoll.*:{
var %header = $hget($sockname,headerfile)
var %data = $hget($sockname,datafile)
var %signal = $hget($sockname,signal)
var %params = $hget($sockname,params)
if (%signal) .signal %signal 0 $sockname %header %data %params
else {
hfree -w $sockname
.remove %header | .remove %data
}
}
alias urlencode return $regsubex($1-,/([^A-Z0-9])/gi,$+(%,$base($asc(\1),10,16)))
|
|
|
|
Joined: Feb 2014
Posts: 5
Nutrimatic drinks dispenser
|
Nutrimatic drinks dispenser
Joined: Feb 2014
Posts: 5 |
Syntax: "!poll title : a, b, c", title is optional and will be replaced with a default title "Poll", both ":" and "-" can be used to separate the title; spaces around the title delimiter are optional. This is tested and working: Examples: !poll Super Fun Title:a,b,c !poll Some Other Title - a, b, c !poll a, b, c on *:text:!poll *:#:{
var %regex = /(?:(.+?)\s*[:-]+\s*|())(.+?)$/iS
if ($regex($strip($2-),%regex)) {
var %title = $iif($regml(1),$v1,Poll)
var %options = $regsubex($regml(2),/\s* $+ $chr(44) $+ \s*/g,$chr(44))
}
else return
noop $strawpoll.create(#,%title,%options)
}
alias strawpoll.create {
var %chan = $1, %title = $urlencode($2), %options
var %multi = true, %permissive = false
var %i = 1, %n = $numtok($3,44)
while (%i <= %n) {
%options = %options $+ &options[]= $+ $urlencode($gettok($3,%i,44))
inc %i
}
var %sockname = strawpoll. $+ $ticks
hfree -w %sockname | hmake %sockname
hadd %sockname headerfile %sockname $+ .header.txt
hadd %sockname datafile %sockname $+ .data.txt
hadd %sockname host strawpoll.me
hadd %sockname request /ajax/new-poll
hadd %sockname method POST
hadd %sockname data $+(title=,%title,%options,&multi=,%multi,&permissive=,%permissive)
hadd %sockname signal strawpoll.create
hadd %sockname params %chan
sockopen %sockname $hget(%sockname,host) 80
}
on *:signal:strawpoll.create:{
var %err = $1, %sockname = $2, %header = $3, %data = $4, %chan = $5
if (* 200 OK iswm $read(%header,1)) && ($regex($read(%data,n,1),(\d+))) {
msg %chan http://strawpoll.me/ $+ $regml(1)
}
else msg %chan Could not create poll.
hfree -w %sockname
.remove %header | .remove %data
}
on *:sockopen:strawpoll.*:{
var %a = sockwrite -n $sockname
%a $hget($sockname,method) $hget($sockname,request) HTTP/1.0
%a Host: $hget($sockname,host)
%a Connection: close
if ($hget($sockname,data) != $null) {
%a Content-Type: application/x-www-form-urlencoded
%a Content-Length: $len($v1)
}
%a $+($crlf,$hget($sockname,data))
}
on *:sockread:strawpoll.*:{
var %header
var %headerfile = $hget($sockname,headerfile)
var %datafile = $hget($sockname,datafile)
if (!$hget($sockname,header.complete)) {
sockread %header
while (%header != $null) {
write %headerfile %header
sockread %header
}
if ($sockbr) hadd $sockname header.complete $true
}
if ($hget($sockname,header.complete)) {
sockread &read
while ($sockbr) {
bwrite %datafile -1 -1 &read
sockread &read
}
}
}
on *:sockclose:strawpoll.*:{
var %header = $hget($sockname,headerfile)
var %data = $hget($sockname,datafile)
var %signal = $hget($sockname,signal)
var %params = $hget($sockname,params)
if (%signal) .signal %signal 0 $sockname %header %data %params
else {
hfree -w $sockname
.remove %header | .remove %data
}
}
alias urlencode return $regsubex($1-,/([^A-Z0-9])/gi,$+(%,$base($asc(\1),10,16))) Can you add a floodblock to this?
|
|
|
|
Joined: Feb 2014
Posts: 9
Nutrimatic drinks dispenser
|
OP
Nutrimatic drinks dispenser
Joined: Feb 2014
Posts: 9 |
I see where I went wrong in my script, thanks so much you guys are fantastic!!!!! <3 <3 <3 Yes I have flood control (= TY TY TY Add this to the trigger command (under If above above var)
if ((%floodpoll = On) || (%floodpoll. $+ $nick = On) ) { return }
set -u10 %floodpoll On
set -u30 %floodpoll. $+ $nick On
Last edited by LizardJammer; 15/02/14 05:03 AM.
|
|
|
|
Joined: Feb 2014
Posts: 16
Pikka bird
|
Pikka bird
Joined: Feb 2014
Posts: 16 |
Hey, I am really sorry for necroing this thread and lock it if you wish but I couldn't help but notice that it's set to Allow Multiple Choices. How would I go about disabling this option? EDIT:Nevermind! I must've missed it but I found it now. alias strawpoll.create {
var %chan = $1, %title = $urlencode($2), %options
var %multi = true, %permissive = false Changed var %multi from true to false.
Last edited by LooseFlapper; 28/02/14 02:59 PM.
/Loose
|
|
|
|
Joined: Mar 2014
Posts: 215
Fjord artisan
|
Fjord artisan
Joined: Mar 2014
Posts: 215 |
Syntax: "!poll title : a, b, c", title is optional and will be replaced with a default title "Poll", both ":" and "-" can be used to separate the title; spaces around the title delimiter are optional. This is tested and working: Examples: !poll Super Fun Title:a,b,c !poll Some Other Title - a, b, c !poll a, b, c on *:text:!poll *:#:{
var %regex = /(?:(.+?)\s*[:-]+\s*|())(.+?)$/iS
if ($regex($strip($2-),%regex)) {
var %title = $iif($regml(1),$v1,Poll)
var %options = $regsubex($regml(2),/\s* $+ $chr(44) $+ \s*/g,$chr(44))
}
else return
noop $strawpoll.create(#,%title,%options)
}
alias strawpoll.create {
var %chan = $1, %title = $urlencode($2), %options
var %multi = true, %permissive = false
var %i = 1, %n = $numtok($3,44)
while (%i <= %n) {
%options = %options $+ &options[]= $+ $urlencode($gettok($3,%i,44))
inc %i
}
var %sockname = strawpoll. $+ $ticks
hfree -w %sockname | hmake %sockname
hadd %sockname headerfile %sockname $+ .header.txt
hadd %sockname datafile %sockname $+ .data.txt
hadd %sockname host strawpoll.me
hadd %sockname request /ajax/new-poll
hadd %sockname method POST
hadd %sockname data $+(title=,%title,%options,&multi=,%multi,&permissive=,%permissive)
hadd %sockname signal strawpoll.create
hadd %sockname params %chan
sockopen %sockname $hget(%sockname,host) 80
}
on *:signal:strawpoll.create:{
var %err = $1, %sockname = $2, %header = $3, %data = $4, %chan = $5
if (* 200 OK iswm $read(%header,1)) && ($regex($read(%data,n,1),(\d+))) {
msg %chan http://strawpoll.me/ $+ $regml(1)
}
else msg %chan Could not create poll.
hfree -w %sockname
.remove %header | .remove %data
}
on *:sockopen:strawpoll.*:{
var %a = sockwrite -n $sockname
%a $hget($sockname,method) $hget($sockname,request) HTTP/1.0
%a Host: $hget($sockname,host)
%a Connection: close
if ($hget($sockname,data) != $null) {
%a Content-Type: application/x-www-form-urlencoded
%a Content-Length: $len($v1)
}
%a $+($crlf,$hget($sockname,data))
}
on *:sockread:strawpoll.*:{
var %header
var %headerfile = $hget($sockname,headerfile)
var %datafile = $hget($sockname,datafile)
if (!$hget($sockname,header.complete)) {
sockread %header
while (%header != $null) {
write %headerfile %header
sockread %header
}
if ($sockbr) hadd $sockname header.complete $true
}
if ($hget($sockname,header.complete)) {
sockread &read
while ($sockbr) {
bwrite %datafile -1 -1 &read
sockread &read
}
}
}
on *:sockclose:strawpoll.*:{
var %header = $hget($sockname,headerfile)
var %data = $hget($sockname,datafile)
var %signal = $hget($sockname,signal)
var %params = $hget($sockname,params)
if (%signal) .signal %signal 0 $sockname %header %data %params
else {
hfree -w $sockname
.remove %header | .remove %data
}
}
alias urlencode return $regsubex($1-,/([^A-Z0-9])/gi,$+(%,$base($asc(\1),10,16))) can you make this op only?
|
|
|
|
Joined: Jan 2004
Posts: 1,358
Hoopy frood
|
Hoopy frood
Joined: Jan 2004
Posts: 1,358 |
can you make this op only? If you want any code to be accessible only to ops it takes a single line: if ($nick !isop #) return
|
|
|
|
Joined: Mar 2014
Posts: 215
Fjord artisan
|
Fjord artisan
Joined: Mar 2014
Posts: 215 |
can you make this op only? If you want any code to be accessible only to ops it takes a single line: if ($nick !isop #) return thanks, i accidentally didn't put # after isop
|
|
|
|
Joined: Mar 2014
Posts: 215
Fjord artisan
|
Fjord artisan
Joined: Mar 2014
Posts: 215 |
can you make this op only? If you want any code to be accessible only to ops it takes a single line: if ($nick !isop #) return when i put that in, i get this error (worked before): -> *than:* Could not create poll.
-
* /sockwrite: 'HTTP/1.0' no such socket (line 389, remote.ini.ini)
-
ON Unknown command
-
ON Unknown command
- and here is my line 387-397: on *:sockopen:strawpoll.*:{
var %a = sockwrite -n $sockname
%a $hget($sockname,method) $hget($sockname,request) HTTP/1.0
%a Host: $hget($sockname,host)
%a Connection: close
if ($hget($sockname,data) != $null) {
%a Content-Type: application/x-www-form-urlencoded
%a Content-Length: $len($v1)
}
%a $+($crlf,$hget($sockname,data))
}
-
Last edited by judge2020; 02/04/14 04:41 PM.
|
|
|
|
Joined: Jan 2004
Posts: 1,358
Hoopy frood
|
Hoopy frood
Joined: Jan 2004
Posts: 1,358 |
Well where did you put that line? It needs to go in the beginning of the text event.
|
|
|
|
Joined: Mar 2014
Posts: 215
Fjord artisan
|
Fjord artisan
Joined: Mar 2014
Posts: 215 |
Well where did you put that line? It needs to go in the beginning of the text event. i did put it at the beginning on *:text:!poll*:#:{
if ( $nick isop #) return
var %regex = /(?:(.+?)\s*[:-]+\s*|())(.+?)$/iS
if ($regex($strip($2-),%regex)) {
var %title = $iif($regml(1),$v1,Poll)
var %options = $regsubex($regml(2),/\s* $+ $chr(44) $+ \s*/g,$chr(44))
}
else return
noop $strawpoll.create(#,%title,%options)
}
alias strawpoll.create {
var %chan = $1, %title = $urlencode($2), %options
var %multi = true, %permissive = false
var %i = 1, %n = $numtok($3,44)
while (%i <= %n) {
%options = %options $+ &options[]= $+ $urlencode($gettok($3,%i,44))
inc %i
}
var %sockname = strawpoll. $+ $ticks
hfree -w %sockname | hmake %sockname
hadd %sockname headerfile %sockname $+ .header.txt
hadd %sockname datafile %sockname $+ .data.txt
hadd %sockname host strawpoll.me
hadd %sockname request /ajax/new-poll
hadd %sockname method POST
hadd %sockname data $+(title=,%title,%options,&multi=,%multi,&permissive=,%permissive)
hadd %sockname signal strawpoll.create
hadd %sockname params %chan
sockopen %sockname $hget(%sockname,host) 80
}
on *:signal:strawpoll.create:{
var %err = $1, %sockname = $2, %header = $3, %data = $4, %chan = $5
if (* 200 OK iswm $read(%header,1)) && ($regex($read(%data,n,1),(\d+))) {
msg %chan http://strawpoll.me/ $+ $regml(1)
}
else msg %chan Could not create poll.
hfree -w %sockname
.remove %header | .remove %data
}
on *:sockopen:strawpoll.*:{
var %a = sockwrite -n $sockname
%a $hget($sockname,method) $hget($sockname,request) HTTP/1.0
%a Host: $hget($sockname,host)
%a Connection: close
if ($hget($sockname,data) != $null) {
%a Content-Type: application/x-www-form-urlencoded
%a Content-Length: $len($v1)
}
%a $+($crlf,$hget($sockname,data))
}
on *:sockread:strawpoll.*:{
var %header
var %headerfile = $hget($sockname,headerfile)
var %datafile = $hget($sockname,datafile)
if (!$hget($sockname,header.complete)) {
sockread %header
while (%header != $null) {
write %headerfile %header
sockread %header
}
if ($sockbr) hadd $sockname header.complete $true
}
if ($hget($sockname,header.complete)) {
sockread &read
while ($sockbr) {
bwrite %datafile -1 -1 &read
sockread &read
}
}
}
on *:sockclose:strawpoll.*:{
var %header = $hget($sockname,headerfile)
var %data = $hget($sockname,datafile)
var %signal = $hget($sockname,signal)
var %params = $hget($sockname,params)
if (%signal) .signal %signal 0 $sockname %header %data %params
else {
hfree -w $sockname
.remove %header | .remove %data
}
}
alias urlencode return $regsubex($1-,/([^A-Z0-9])/gi,$+(%,$base($asc(\1),10,16)))
|
|
|
|
Joined: Jan 2004
Posts: 1,358
Hoopy frood
|
Hoopy frood
Joined: Jan 2004
Posts: 1,358 |
Aside from you including the wrong statement (you excluded the "!" before isop), that works perfectly. The errors you provided are indicative of malformed syntax, which is not present in the text you provided.
|
|
|
|
Joined: Mar 2014
Posts: 215
Fjord artisan
|
Fjord artisan
Joined: Mar 2014
Posts: 215 |
Aside from you including the wrong statement (you excluded the "!" before isop), that works perfectly. The errors you provided are indicative of malformed syntax, which is not present in the text you provided. oh lol thanks. I'm new at this.
|
|
|
|
Joined: Apr 2014
Posts: 18
Pikka bird
|
Pikka bird
Joined: Apr 2014
Posts: 18 |
Is creating FINE the Strawpoll but before, its posting this error line:
Command: !poll super fun title:1,2,3
Error Message: Krawalli -> Not a valid parameter: Super
But it gives out directly the correct created link ^^
|
|
|
|
Joined: Jan 2004
Posts: 1,358
Hoopy frood
|
Hoopy frood
Joined: Jan 2004
Posts: 1,358 |
Then you've changed something or another script is interfering with it. "Krawalli -> Not a valid parameter: Super" does not sound like an error that the script or mIRC itself produces.
|
|
|
|
Joined: Apr 2014
Posts: 18
Pikka bird
|
Pikka bird
Joined: Apr 2014
Posts: 18 |
Oops... my bad
|
|
|
|
Joined: Mar 2014
Posts: 52
Babel fish
|
Babel fish
Joined: Mar 2014
Posts: 52 |
Syntax: "!poll title : a, b, c", title is optional and will be replaced with a default title "Poll", both ":" and "-" can be used to separate the title; spaces around the title delimiter are optional. This is tested and working: Examples: !poll Super Fun Title:a,b,c !poll Some Other Title - a, b, c !poll a, b, c on *:text:!poll *:#:{
var %regex = /(?:(.+?)\s*[:-]+\s*|())(.+?)$/iS
if ($regex($strip($2-),%regex)) {
var %title = $iif($regml(1),$v1,Poll)
var %options = $regsubex($regml(2),/\s* $+ $chr(44) $+ \s*/g,$chr(44))
}
else return
noop $strawpoll.create(#,%title,%options)
}
alias strawpoll.create {
var %chan = $1, %title = $urlencode($2), %options
var %multi = true, %permissive = false
var %i = 1, %n = $numtok($3,44)
while (%i <= %n) {
%options = %options $+ &options[]= $+ $urlencode($gettok($3,%i,44))
inc %i
}
var %sockname = strawpoll. $+ $ticks
hfree -w %sockname | hmake %sockname
hadd %sockname headerfile %sockname $+ .header.txt
hadd %sockname datafile %sockname $+ .data.txt
hadd %sockname host strawpoll.me
hadd %sockname request /ajax/new-poll
hadd %sockname method POST
hadd %sockname data $+(title=,%title,%options,&multi=,%multi,&permissive=,%permissive)
hadd %sockname signal strawpoll.create
hadd %sockname params %chan
sockopen %sockname $hget(%sockname,host) 80
}
on *:signal:strawpoll.create:{
var %err = $1, %sockname = $2, %header = $3, %data = $4, %chan = $5
if (* 200 OK iswm $read(%header,1)) && ($regex($read(%data,n,1),(\d+))) {
msg %chan http://strawpoll.me/ $+ $regml(1)
}
else msg %chan Could not create poll.
hfree -w %sockname
.remove %header | .remove %data
}
on *:sockopen:strawpoll.*:{
var %a = sockwrite -n $sockname
%a $hget($sockname,method) $hget($sockname,request) HTTP/1.0
%a Host: $hget($sockname,host)
%a Connection: close
if ($hget($sockname,data) != $null) {
%a Content-Type: application/x-www-form-urlencoded
%a Content-Length: $len($v1)
}
%a $+($crlf,$hget($sockname,data))
}
on *:sockread:strawpoll.*:{
var %header
var %headerfile = $hget($sockname,headerfile)
var %datafile = $hget($sockname,datafile)
if (!$hget($sockname,header.complete)) {
sockread %header
while (%header != $null) {
write %headerfile %header
sockread %header
}
if ($sockbr) hadd $sockname header.complete $true
}
if ($hget($sockname,header.complete)) {
sockread &read
while ($sockbr) {
bwrite %datafile -1 -1 &read
sockread &read
}
}
}
on *:sockclose:strawpoll.*:{
var %header = $hget($sockname,headerfile)
var %data = $hget($sockname,datafile)
var %signal = $hget($sockname,signal)
var %params = $hget($sockname,params)
if (%signal) .signal %signal 0 $sockname %header %data %params
else {
hfree -w $sockname
.remove %header | .remove %data
}
}
alias urlencode return $regsubex($1-,/([^A-Z0-9])/gi,$+(%,$base($asc(\1),10,16))) hi, this is not working anymore it worked about 2-3 days ago. could someone help please? output is: could not create poll. idk if its cloudfare. i think they added it just now
Last edited by patrickplays; 15/06/14 08:17 PM.
|
|
|
|
Joined: Jan 2004
Posts: 1,358
Hoopy frood
|
Hoopy frood
Joined: Jan 2004
Posts: 1,358 |
It is because of cloudfare, they have ddos protection at the moment which verifies your browser. So feel free to work around their explicit actions to block scripts like this.
|
|
|
|
|