PtokaX forum

Archive => Archived 4.0 boards => Request for Lua 4 scripts => Topic started by: (=CyberPimp=) on 24 February, 2004, 22:54:21

Title: VotingBot
Post by: (=CyberPimp=) on 24 February, 2004, 22:54:21


Commands:          {only for admin}

+Votehelp          {Shows commands}
     
+CreateVote        { Creates a votepoll.txt,
                     then auto asks: Votenr=" ",
                     then auto asks: Votename=" Should we raise the min share to 20GB. ",    
                     then auto asks: Voteend= starts at +voteload, ends " hh:mm ".}
           
+vodeload    {loads the (votepoll nr.)}(Can be skipped in programing if it?s unuseful)

+startvote   {starts the (votepoll nr.)}

+stopvote    {stops the time = stops votepoll nr. and autosaves the poll}

+showvote    {showes the vote results}

+svmain      {showes the vote results on main chat}

+Votelist          {showes all finished nr.+ votename}


Commands:          {for all nicks or ip numbers}


+votefor           {Opens the votingBot and displays the current question.}

+vote        {votes (y = yes), (n = no)
                    if = y
                        then = ("Successfully voted for: "..arg)
                    if = n
                        then = ("Successfully voted for: "..arg)
                    else ="No such poll-option ...please vote (y = yes)(n = no)"}

Outcome

+showvote 01    

                Vote Nr.01 =  Q: Should we raise the min share to 20GB.
                                 
                                 Results for: Nr. 01
                               -----------------------
                                     yes = 153
                                      no = 16
                               -----------------------
                                   Outcome = YES
                                   

------------------------------------------------------------------------------------
      Hope you undersand this and get the idea. So start makin it!!  hehe :o)
      The other Pollbots are no good for me I?ve tried it.
      Please send me a e-mail at loony@internet.is if you are going to, or die trying
      to do it. tanx...(=CyberPimp=)
Title:
Post by: nErBoS on 25 February, 2004, 02:44:51
Hi,

It need a lot of code. I will try to do but will take some time and i having few time.

Best regards, nErBoS
Title:
Post by: nErBoS on 28 February, 2004, 21:02:35
Hi,

Here is it, i made some modifications with your request, see if you like and tell me if is working ok..

--Requested by (=CyberPimp=)
--Made by nErBoS

Bot = "Vote-Bot"

vt = {}
nr = {}

votetext = "votepoll.txt" --Will be created in the script folder
oldpolls = "oldpolls.txt" --Will be created in the script folder

function Main()
frmHub:RegBot(Bot)
end

function NewUserConnected(user, data)
if (vt[user.sName] == nil) then
vt[user.sName] = 0
end
if (nr[user.sName] == nil) then
nr[user.sName] = 0
end
end

function DataArrival(user, data)

if (strsub(data,1,1)=="<") or (strsub(data,1,5+strlen(Bot))=="$To: "..Bot) then
data=strsub(data,1,strlen(data)-1)
s,e,cmd = strfind(data,"%b<>%s+(%S+)")
if (cmd=="+votehelp") then
local msg = ""
if (user.iProfile == 0) then
msg = msg.."Commands to the Vote-Poll:\r\n"
msg = msg.."\r\n"
msg = msg.."+createvote \tCreates a poll (nr = number to give to poll) (q = Poll question)\r\n"
msg = msg.."+stopvote \t\tWill end the vote-poll\r\n"
msg = msg.."+showvote \t\tShow the vote results of the poll\r\n"
msg = msg.."+svmain \t\tShow the vote results in the mainchat\r\n"
msg = msg.."+votelist\t\t\tShow all finished polls\r\n"
msg = msg.."+votefor\t\t\tShow the polls that you can vote\r\n"
msg = msg.."+vote \t\tTo vote on the poll (y = yes) (n = no) (nr = number of the poll)\r\n"
msg = msg.."\r\n"
user:SendPM(Bot, msg)
else
msg = msg.."Commands to the Vote-Poll:\r\n"
msg = msg.."\r\n"
msg = msg.."+votefor\t\t\tShow the polls that you can vote\r\n"
msg = msg.."+vote \t\tTo vote on the poll (y = yes) (n = no) (nr = number of the poll)\r\n"
msg = msg.."\r\n"
user:SendPM(Bot, msg)
end
return 1
elseif (cmd=="+createvote") then
if (user.iProfile == 0) then
local s,e,number,question = strfind(data,"%b<>%s+%S+%s+(%S+)%s+(.*)")
if (tonumber(number) == nil or number == "") then
user:SendPM(Bot, "Syntax error, +createvote , nr must be a number.")
else
number = tonumber(number)
if (question == nil or question == "") then
user:SendPM(Bot, "Syntax error, +createvote , you must write a question to the poll.")
else
if (CreatePoll(user, number, question) == 1) then
user:SendPM(Bot, "The Vote-Poll has been created.")
else
user:SendPM(Bot, "There is a already a Vote-Poll with the number "..number..".")
end
end
end
else
user:SendPM(Bot, "You don?t have permision to this command.")
end
return 1
elseif (cmd=="+stopvote") then
if (user.iProfile == 0) then
local s,e,number = strfind(data,"%b<>%s+%S+%s+(.*)")
if (tonumber(number) == nil or number == "") then
user:SendPM(Bot, "Syntax error, +stopvote , nr must be a number.")
else
number = tonumber(number)
if (OldPoll(user, number) == 1) then
user:SendPM(Bot, "The Vote-Poll has been closed an saved on the Old Polls.")
else
user:SendPM(Bot, "There is no Vote-Poll with the number "..number..".")
end
end
else
user:SendPM(Bot, "You don?t have permision to this command.")
end
return 1
elseif (cmd=="+showvote") then
if (user.iProfile == 0) then
local s,e,number = strfind(data,"%b<>%s+%S+%s+(.*)")
if (tonumber(number) == nil or number == "") then
user:SendPM(Bot, "Syntax error, +showvote , nr must be a number.")
else
number = tonumber(number)
if (CheckPoll(user, number, votetext) == "") then
user:SendPM(Bot, "There is no Vote-Poll with the number "..number..".")
else
user:SendPM(Bot, CheckPoll(user, number, votetext))
end
end
else
user:SendPM(Bot, "You don?t have permision to this command.")
end
return 1
elseif (cmd=="+svmain") then
if (user.iProfile == 0) then
local s,e,number = strfind(data,"%b<>%s+%S+%s+(.*)")
if (tonumber(number) == nil or number == "") then
user:SendPM(Bot, "Syntax error, +svmain , nr must be a number.")
else
number = tonumber(number)
if (CheckPoll(user, number, votetext) == "") then
user:SendPM(Bot, "There is no Vote-Poll with the number "..number..".")
else
SendToAll(Bot, CheckPoll(user, number, votetext))
end
end
else
user:SendPM(Bot, "You don?t have permision to this command.")
end
return 1
elseif (cmd=="+votelist") then
if (user.iProfile == 0) then
if (readfrom(oldpolls) == nil or ReadPoll(user, oldpolls) == "") then
user:SendPM(Bot, "There is no closed Vote-Polls")
else
user:SendPM(Bot, ReadPoll(user, oldpolls))
end
else
user:SendPM(Bot, "You don?t have permision to this command.")
end
return 1
elseif (cmd=="+votefor") then
if (readfrom(oldpolls) == nil or ReadPoll(user, votetext) == "") then
user:SendPM(Bot, "There is no closed Vote-Polls")
else
user:SendPM(Bot, ReadPoll(user, votetext))
end
return 1
elseif (cmd=="+vote") then
local s,e,number,opt = strfind(data,"%b<>%s+%S+%s+(%S+)%s+(%S+)")
if (tonumber(number) == nil or number == "") then
user:SendPM(Bot, "Syntax error, +vote , nr must be a number.")
else
number = tonumber(number)
if (opt == nil or opt == "" or opt ~= "n" and opt ~= "y") then
user:SendPM(Bot, "Syntax error, +vote , must type (y = yes) or (n = no).")
else
if (Vote(user, number, opt) == 1) then
user:SendPM(Bot, "Your Vote has been registered.")
vt[user.sName] = 1
nr[user.sName] = number
elseif(Vote(user, number, opt) == 2) then
user:SendPM(Bot, "You have already made a vote on this Vote-Poll")
else
user:SendPM(Bot, "There isn?t any Vote-Poll with the number "..number..".")
end
end
end
return 1
end
end
end

function Readtextfile(user, file)
    local filecontents = ""
local handle = openfile(file, "r")
if (handle ~= nil) then
local line = read(handle)
while line do
        filecontents = filecontents..line.."\r\n"
line = read(handle)
end
closefile(handle)
      user:SendPM(Bot, filecontents)
end
end

function Writetextfile(file, array)
writeto(file)
for x=1,getn(array) do write(array[x].."\r\n") end
writeto()
end

function CreatePoll(user, number, question)
local tmp = ""
local time = 0
   readfrom(votetext)
   while 1 do
      local line = read()
      if (line == nil) then
if (time == 2) then
         break
else
tmp = tmp.."Nr: "..number.." Question: "..question.." Yes: 0 No: 0 Active: Yes\r\n"
time = 1
         break
         end
      else
local s,e,num = strfind(line,"Nr:%s+(%S+)%s+")
if (tonumber(num) == number) then
tmp = tmp..line.."\r\n"
time = 2
else
tmp = tmp..line.."\r\n"
end
      end
   end
readfrom()
writeto(votetext)
write(tmp)
writeto()
return time
end

function OldPoll(user, number)
local tmp = ""
local tmp2 = ""
local time = 0
   readfrom(votetext)
   while 1 do
      local line = read()
      if (line == nil) then
      break
      else
local s,e, num, question, ny, nn = strfind(line,"Nr:%s+(%S+)%s+(.*)Yes:%s+(%S+)%s+No:%s+(%S+)%s+Active:")
if (tonumber(num) == number) then
tmp2 = tmp2.."Nr: "..number.." Question: "..question.."Yes: "..ny.." No: "..nn.." Active: No\r\n"
         time = 1
else
tmp = tmp..line.."\r\n"
end
      end
   end
readfrom()
writeto(votetext)
write(tmp)
writeto()
if (time == 0) then
else
appendto(oldpolls)
write(tmp2)
writeto()
end
return time
end

function CheckPoll(user, number, file)
local tmp = ""
   readfrom(file)
   while 1 do
      local line = read()
      if (line == nil) then
      break
      else
local s,e, num, question, ny, nn = strfind(line,"Nr:%s+(%S+)%s+(.*)Yes:%s+(%S+)%s+No:%s+(%S+)%s+Active:")
if (tonumber(num) == number) then
tmp = tmp.."\r\n-------------------- Vote Poll --------------------\r\n"
tmp = tmp.."Results of Vote-Poll Nr: "..num.."\r\n"
tmp = tmp.."Vote "..question.."\r\n"
tmp = tmp.."------------------------------\r\n"
tmp = tmp.."Yes: "..ny.."\r\n"
tmp = tmp.."No: "..nn.."\r\n"
tmp = tmp.."------------------------------\r\n"
if (tonumber(ny) > tonumber(nn)) then
tmp = tmp.."Yes is Winnig."
elseif (tonumber(ny) < tonumber(nn)) then
tmp = tmp.."No is Winnig."
elseif (tonumber(ny) == tonumber(nn)) then
tmp = tmp.."Yes and No is equal."
end
break
else
end
      end
   end
readfrom()
return tmp
end

function ReadPoll(user, file)
local tmp = ""
   readfrom(file)
   while 1 do
      local line = read()
      if (line == nil) then
      break
      else
local s,e, num, question, ny, nn = strfind(line,"Nr:%s+(%S+)%s+(.*)Yes:%s+(%S+)%s+No:%s+(%S+)%s+Active:")
tmp = tmp.."\r\n-------------------- Vote Poll --------------------\r\n"
tmp = tmp.."Results of Vote-Poll Nr: "..num.."\r\n"
tmp = tmp.."Vote "..question.."\r\n"
tmp = tmp.."------------------------------\r\n"
tmp = tmp.."Yes: "..ny.."\r\n"
tmp = tmp.."No: "..nn.."\r\n"
tmp = tmp.."------------------------------\r\n"
if (file == oldpolls) then
tmp = tmp.."Closed Vote-Poll\r\n"
elseif (file == votetext) then
tmp = tmp.."Active Vote-Poll\r\n"
end
      end
   end
readfrom()
return tmp
end

function Vote(user, number, opt)
local tmp = ""
local time = 0
if (vt[user.sName] == 1 and nr[user.sName] == number) then
   time = 2
else
   readfrom(votetext)
   while 1 do
      local line = read()
      if (line == nil) then
      break
      else
local s,e, num, question, ny, nn = strfind(line,"Nr:%s+(%S+)%s+(.*)Yes:%s+(%S+)%s+No:%s+(%S+)%s+Active:")
if (tonumber(num) == number) then
if (opt == "y") then
ny = tonumber(ny) + 1
elseif (opt == "n") then
nn = tonumber(nn) + 1
end
tmp = tmp.."Nr: "..number.." Question: "..question.."Yes: "..ny.." No: "..nn.." Active: Yes\r\n"
         time = 1
else
tmp = tmp..line.."\r\n"
end
      end
   end
readfrom()
writeto(votetext)
write(tmp)
writeto()
end
return time
end

Best regards, nErBoS
Title: looks good but some errors
Post by: (=CyberPimp=) on 29 February, 2004, 18:49:14
:D Great, it looks good but some errors. :(



[17:33:02] Your Vote has been registered.
[17:34:26] <[=CyberPimp=]> +stopvote 01
[17:34:26] The Vote-Poll has been closed an saved on the Old Polls.
[17:34:41] <[=CyberPimp=]> +showvote 01
[17:34:41] There is no Vote-Poll with the number 1.
[17:35:26] <[=CyberPimp=]> +votelist
[17:35:27]
-------------------- Vote Poll --------------------
Results of Vote-Poll Nr: 1
Vote Question: Question: Question:  ? a? h?kka sharei? ? 30GB
------------------------------
Yes: 1
No: 0
------------------------------
Closed Vote-Poll

[17:36:34] <[=CyberPimp=]> +svmain
[17:36:35] Syntax error, +svmain , nr must be a number.
[17:36:46] <[=CyberPimp=]> +svmain 01
[17:36:47] There is no Vote-Poll with the number 1.
[17:39:28] <[=CyberPimp=]> +svmain 1
[17:39:28] There is no Vote-Poll with the number 1.
Title:
Post by: (=CyberPimp=) on 29 February, 2004, 19:19:04
17:36:46] <[=CyberPimp=]> +svmain 01
This works if the poll is?t closed, sorry
It needs to show the resoults of the polls when thay are done as well. Can you fix that and the Question: Question: Question bug as well.

Great job !!, finally a good voteing script
Title:
Post by: nErBoS on 29 February, 2004, 19:19:39
Hi,

I had the old polls separated form the open polls try, solved also the question bug..

--Requested by (=CyberPimp=)
--Made by nErBoS

Bot = "Vote-Bot"

vt = {}
nr = {}

votetext = "votepoll.txt" --Will be created in the script folder
oldpolls = "oldpolls.txt" --Will be created in the script folder

function Main()
frmHub:RegBot(Bot)
end

function NewUserConnected(user, data)
if (vt[user.sName] == nil) then
vt[user.sName] = 0
end
if (nr[user.sName] == nil) then
nr[user.sName] = 0
end
end

function DataArrival(user, data)

if (strsub(data,1,1)=="<") or (strsub(data,1,5+strlen(Bot))=="$To: "..Bot) then
data=strsub(data,1,strlen(data)-1)
s,e,cmd = strfind(data,"%b<>%s+(%S+)")
if (cmd=="+votehelp") then
local msg = ""
if (user.iProfile == 0) then
msg = msg.."Commands to the Vote-Poll:\r\n"
msg = msg.."\r\n"
msg = msg.."+createvote \tCreates a poll (nr = number to give to poll) (q = Poll question)\r\n"
msg = msg.."+stopvote \t\tWill end the vote-poll\r\n"
msg = msg.."+showvote \tShow the vote results of the poll (old = old polls) or (new = polls that haven't been closed)\r\n"
msg = msg.."+svmain \tShow the vote results in the mainchat (old = old polls) or (new = polls that haven't been closed)\r\n"
msg = msg.."+votelist\t\t\tShow all finished polls\r\n"
msg = msg.."+votefor\t\t\tShow the polls that you can vote\r\n"
msg = msg.."+vote \t\tTo vote on the poll (y = yes) (n = no) (nr = number of the poll)\r\n"
msg = msg.."\r\n"
user:SendPM(Bot, msg)
else
msg = msg.."Commands to the Vote-Poll:\r\n"
msg = msg.."\r\n"
msg = msg.."+votefor\t\t\tShow the polls that you can vote\r\n"
msg = msg.."+vote \t\tTo vote on the poll (y = yes) (n = no) (nr = number of the poll)\r\n"
msg = msg.."\r\n"
user:SendPM(Bot, msg)
end
return 1
elseif (cmd=="+createvote") then
if (user.iProfile == 0) then
local s,e,number,question = strfind(data,"%b<>%s+%S+%s+(%S+)%s+(.*)")
if (tonumber(number) == nil) then
user:SendPM(Bot, "Syntax error, +createvote , nr must be a number.")
else
number = tonumber(number)
if (question == nil or question == "") then
user:SendPM(Bot, "Syntax error, +createvote , you must write a question to the poll.")
else
if (CreatePoll(user, number, question) == 1) then
user:SendPM(Bot, "The Vote-Poll has been created.")
else
user:SendPM(Bot, "There is a already a Vote-Poll with the number "..number..".")
end
end
end
else
user:SendPM(Bot, "You don?t have permision to this command.")
end
return 1
elseif (cmd=="+stopvote") then
if (user.iProfile == 0) then
local s,e,number = strfind(data,"%b<>%s+%S+%s+(.*)")
if (tonumber(number) == nil or number == "") then
user:SendPM(Bot, "Syntax error, +stopvote , nr must be a number.")
else
number = tonumber(number)
if (OldPoll(user, number) == 1) then
user:SendPM(Bot, "The Vote-Poll has been closed an saved on the Old Polls.")
else
user:SendPM(Bot, "There is no Vote-Poll with the number "..number..".")
end
end
else
user:SendPM(Bot, "You don?t have permision to this command.")
end
return 1
elseif (cmd=="+showvote") then
if (user.iProfile == 0) then
local s,e,number, opt = strfind(data,"%b<>%s+%S+%s+(%S+)%s+(%S+)")
if (tonumber(number) == nil) then
user:SendPM(Bot, "Syntax error, +showvote , nr must be a number.")
else
number = tonumber(number)
if (opt == "old") then
if (CheckPoll(user, number, oldpolls) == "") then
user:SendPM(Bot, "There is no Vote-Poll with the number "..number..".")
else
user:SendPM(Bot, CheckPoll(user, number, oldpolls))
end
elseif(opt == "new") then
if (CheckPoll(user, number, votetext) == "") then
user:SendPM(Bot, "There is no Vote-Poll with the number "..number..".")
else
user:SendPM(Bot, CheckPoll(user, number, votetext))
end
else
user:SendPM(Bot, "Syntax error, +showvote , must be (old = old polls) or (new = polls that haven't been closed)")
end
end
else
user:SendPM(Bot, "You don?t have permision to this command.")
end
return 1
elseif (cmd=="+svmain") then
if (user.iProfile == 0) then
local s,e,number, opt = strfind(data,"%b<>%s+%S+%s+(%S+)%s+(%S+)")
if (tonumber(number) == nil) then
user:SendPM(Bot, "Syntax error, +svmain , nr must be a number.")
else
number = tonumber(number)
if (opt == "old") then
if (CheckPoll(user, number, oldpolls) == "") then
user:SendPM(Bot, "There is no Vote-Poll with the number "..number..".")
else
SendToAll(Bot, CheckPoll(user, number, oldpolls))
end
elseif(opt == "new") then
if (CheckPoll(user, number, votetext) == "") then
user:SendPM(Bot, "There is no Vote-Poll with the number "..number..".")
else
SendToAll(Bot, CheckPoll(user, number, votetext))
end
else
user:SendPM(Bot, "Syntax error, +svmain , must be (old = old polls) or (new = polls that haven't been closed)")
end
end
else
user:SendPM(Bot, "You don?t have permision to this command.")
end
return 1
elseif (cmd=="+votelist") then
if (user.iProfile == 0) then
if (readfrom(oldpolls) == nil or ReadPoll(user, oldpolls) == "") then
user:SendPM(Bot, "There is no closed Vote-Polls")
else
user:SendPM(Bot, ReadPoll(user, oldpolls))
end
else
user:SendPM(Bot, "You don?t have permision to this command.")
end
return 1
elseif (cmd=="+votefor") then
if (readfrom(oldpolls) == nil or ReadPoll(user, votetext) == "") then
user:SendPM(Bot, "There is no closed Vote-Polls")
else
user:SendPM(Bot, ReadPoll(user, votetext))
end
return 1
elseif (cmd=="+vote") then
local s,e,number,opt = strfind(data,"%b<>%s+%S+%s+(%S+)%s+(%S+)")
if (tonumber(number) == nil) then
user:SendPM(Bot, "Syntax error, +vote , nr must be a number.")
else
number = tonumber(number)
if (opt == nil or opt == "" or opt ~= "n" and opt ~= "y") then
user:SendPM(Bot, "Syntax error, +vote , must type (y = yes) or (n = no).")
else
if (Vote(user, number, opt) == 1) then
user:SendPM(Bot, "Your Vote has been registered.")
vt[user.sName] = 1
nr[user.sName] = number
elseif(Vote(user, number, opt) == 2) then
user:SendPM(Bot, "You have already made a vote on this Vote-Poll")
else
user:SendPM(Bot, "There isn?t any Vote-Poll with the number "..number..".")
end
end
end
return 1
end
end
end

function CreatePoll(user, number, question)
local tmp = ""
local time = 0
   readfrom(votetext)
   while 1 do
      local line = read()
      if (line == nil) then
if (time == 2) then
         break
else
tmp = tmp.."Nr: "..number.." Question: "..question.." Yes: 0 No: 0 Active: Yes\r\n"
time = 1
         break
         end
      else
local s,e,num = strfind(line,"Nr:%s+(%S+)%s+")
if (tonumber(num) == number) then
tmp = tmp..line.."\r\n"
time = 2
else
tmp = tmp..line.."\r\n"
end
      end
   end
readfrom()
writeto(votetext)
write(tmp)
writeto()
return time
end

function OldPoll(user, number)
local tmp = ""
local tmp2 = ""
local time = 0
   readfrom(votetext)
   while 1 do
      local line = read()
      if (line == nil) then
      break
      else
local s,e, num, question, ny, nn = strfind(line,"Nr:%s+(%S+)%s+(.*)Yes:%s+(%S+)%s+No:%s+(%S+)%s+Active:")
if (tonumber(num) == number) then
tmp2 = tmp2.."Nr: "..number.." "..question.."Yes: "..ny.." No: "..nn.." Active: No\r\n"
         time = 1
else
tmp = tmp..line.."\r\n"
end
      end
   end
readfrom()
writeto(votetext)
write(tmp)
writeto()
if (time == 0) then
else
appendto(oldpolls)
write(tmp2)
writeto()
end
return time
end

function CheckPoll(user, number, file)
local tmp = ""
   readfrom(file)
   while 1 do
      local line = read()
      if (line == nil) then
      break
      else
local s,e, num, question, ny, nn = strfind(line,"Nr:%s+(%S+)%s+(.*)Yes:%s+(%S+)%s+No:%s+(%S+)%s+Active:")
if (tonumber(num) == number) then
tmp = tmp.."\r\n-------------------- Vote Poll --------------------\r\n"
tmp = tmp.."Results of Vote-Poll Nr: "..num.."\r\n"
tmp = tmp.."Vote "..question.."\r\n"
tmp = tmp.."------------------------------\r\n"
tmp = tmp.."Yes: "..ny.."\r\n"
tmp = tmp.."No: "..nn.."\r\n"
tmp = tmp.."------------------------------\r\n"
if (tonumber(ny) > tonumber(nn)) then
tmp = tmp.."Yes is Winnig."
elseif (tonumber(ny) < tonumber(nn)) then
tmp = tmp.."No is Winnig."
elseif (tonumber(ny) == tonumber(nn)) then
tmp = tmp.."Yes and No is equal."
end
break
else
end
      end
   end
readfrom()
return tmp
end

function ReadPoll(user, file)
local tmp = ""
   readfrom(file)
   while 1 do
      local line = read()
      if (line == nil) then
      break
      else
local s,e, num, question, ny, nn = strfind(line,"Nr:%s+(%S+)%s+(.*)Yes:%s+(%S+)%s+No:%s+(%S+)%s+Active:")
tmp = tmp.."\r\n-------------------- Vote Poll --------------------\r\n"
tmp = tmp.."Results of Vote-Poll Nr: "..num.."\r\n"
tmp = tmp.."Vote "..question.."\r\n"
tmp = tmp.."------------------------------\r\n"
tmp = tmp.."Yes: "..ny.."\r\n"
tmp = tmp.."No: "..nn.."\r\n"
tmp = tmp.."------------------------------\r\n"
if (file == oldpolls) then
tmp = tmp.."Closed Vote-Poll\r\n"
elseif (file == votetext) then
tmp = tmp.."Active Vote-Poll\r\n"
end
      end
   end
readfrom()
return tmp
end

function Vote(user, number, opt)
local tmp = ""
local time = 0
if (vt[user.sName] == 1 and nr[user.sName] == number) then
   time = 2
else
   readfrom(votetext)
   while 1 do
      local line = read()
      if (line == nil) then
      break
      else
local s,e, num, question, ny, nn = strfind(line,"Nr:%s+(%S+)%s+(.*)Yes:%s+(%S+)%s+No:%s+(%S+)%s+Active:")
if (tonumber(num) == number) then
if (opt == "y") then
ny = tonumber(ny) + 1
elseif (opt == "n") then
nn = tonumber(nn) + 1
end
tmp = tmp.."Nr: "..number.." "..question.."Yes: "..ny.." No: "..nn.." Active: Yes\r\n"
         time = 1
else
tmp = tmp..line.."\r\n"
end
      end
   end
readfrom()
writeto(votetext)
write(tmp)
writeto()
end
return time
end

Best regards, nErBoS
Title:
Post by: (=CyberPimp=) on 29 February, 2004, 19:33:30
Now nothing works hehe
Title:
Post by: (=CyberPimp=) on 29 February, 2004, 19:38:52
no sorry, my mistake hehe
Title:
Post by: nErBoS on 29 February, 2004, 19:48:16
Is it working ok???
Title:
Post by: (=CyberPimp=) on 29 February, 2004, 20:11:24
It works like charm. Great work and tanx for this script.

can?t be voted 2 times = works great like the rest.

I will post if there are any more problems, but it seems to be working like it should be.

Once again, Great work !!

I love it, hope you like it to.
Title:
Post by: (=CyberPimp=) on 29 February, 2004, 20:30:41
+votefor does not work

+votefor = Show the polls that you can vote

[19:26:15] <[=CyberPimp=]> +votefor
[19:26:15] There is no closed Vote-Polls


or it works only when poll is closed.
Title:
Post by: nErBoS on 29 February, 2004, 21:35:25
Hi,

Yep a little bug try this...

--Requested by (=CyberPimp=)
--Made by nErBoS

Bot = "Vote-Bot"

vt = {}
nr = {}

votetext = "votepoll.txt" --Will be created in the script folder
oldpolls = "oldpolls.txt" --Will be created in the script folder

function Main()
frmHub:RegBot(Bot)
end

function NewUserConnected(user, data)
if (vt[user.sName] == nil) then
vt[user.sName] = 0
end
if (nr[user.sName] == nil) then
nr[user.sName] = 0
end
end

function DataArrival(user, data)

if (strsub(data,1,1)=="<") or (strsub(data,1,5+strlen(Bot))=="$To: "..Bot) then
data=strsub(data,1,strlen(data)-1)
s,e,cmd = strfind(data,"%b<>%s+(%S+)")
if (cmd=="+votehelp") then
local msg = ""
if (user.iProfile == 0) then
msg = msg.."Commands to the Vote-Poll:\r\n"
msg = msg.."\r\n"
msg = msg.."+createvote \tCreates a poll (nr = number to give to poll) (q = Poll question)\r\n"
msg = msg.."+stopvote \t\tWill end the vote-poll\r\n"
msg = msg.."+showvote \tShow the vote results of the poll (old = old polls) or (new = polls that haven't been closed)\r\n"
msg = msg.."+svmain \tShow the vote results in the mainchat (old = old polls) or (new = polls that haven't been closed)\r\n"
msg = msg.."+votelist\t\t\tShow all finished polls\r\n"
msg = msg.."+votefor\t\t\tShow the polls that you can vote\r\n"
msg = msg.."+vote \t\tTo vote on the poll (y = yes) (n = no) (nr = number of the poll)\r\n"
msg = msg.."\r\n"
user:SendPM(Bot, msg)
else
msg = msg.."Commands to the Vote-Poll:\r\n"
msg = msg.."\r\n"
msg = msg.."+votefor\t\t\tShow the polls that you can vote\r\n"
msg = msg.."+vote \t\tTo vote on the poll (y = yes) (n = no) (nr = number of the poll)\r\n"
msg = msg.."\r\n"
user:SendPM(Bot, msg)
end
return 1
elseif (cmd=="+createvote") then
if (user.iProfile == 0) then
local s,e,number,question = strfind(data,"%b<>%s+%S+%s+(%S+)%s+(.*)")
if (tonumber(number) == nil) then
user:SendPM(Bot, "Syntax error, +createvote , nr must be a number.")
else
number = tonumber(number)
if (question == nil or question == "") then
user:SendPM(Bot, "Syntax error, +createvote , you must write a question to the poll.")
else
if (CreatePoll(user, number, question) == 1) then
user:SendPM(Bot, "The Vote-Poll has been created.")
else
user:SendPM(Bot, "There is a already a Vote-Poll with the number "..number..".")
end
end
end
else
user:SendPM(Bot, "You don?t have permision to this command.")
end
return 1
elseif (cmd=="+stopvote") then
if (user.iProfile == 0) then
local s,e,number = strfind(data,"%b<>%s+%S+%s+(.*)")
if (tonumber(number) == nil or number == "") then
user:SendPM(Bot, "Syntax error, +stopvote , nr must be a number.")
else
number = tonumber(number)
if (OldPoll(user, number) == 1) then
user:SendPM(Bot, "The Vote-Poll has been closed an saved on the Old Polls.")
else
user:SendPM(Bot, "There is no Vote-Poll with the number "..number..".")
end
end
else
user:SendPM(Bot, "You don?t have permision to this command.")
end
return 1
elseif (cmd=="+showvote") then
if (user.iProfile == 0) then
local s,e,number, opt = strfind(data,"%b<>%s+%S+%s+(%S+)%s+(%S+)")
if (tonumber(number) == nil) then
user:SendPM(Bot, "Syntax error, +showvote , nr must be a number.")
else
number = tonumber(number)
if (opt == "old") then
if (CheckPoll(user, number, oldpolls) == "") then
user:SendPM(Bot, "There is no Vote-Poll with the number "..number..".")
else
user:SendPM(Bot, CheckPoll(user, number, oldpolls))
end
elseif(opt == "new") then
if (CheckPoll(user, number, votetext) == "") then
user:SendPM(Bot, "There is no Vote-Poll with the number "..number..".")
else
user:SendPM(Bot, CheckPoll(user, number, votetext))
end
else
user:SendPM(Bot, "Syntax error, +showvote , must be (old = old polls) or (new = polls that haven't been closed)")
end
end
else
user:SendPM(Bot, "You don?t have permision to this command.")
end
return 1
elseif (cmd=="+svmain") then
if (user.iProfile == 0) then
local s,e,number, opt = strfind(data,"%b<>%s+%S+%s+(%S+)%s+(%S+)")
if (tonumber(number) == nil) then
user:SendPM(Bot, "Syntax error, +svmain , nr must be a number.")
else
number = tonumber(number)
if (opt == "old") then
if (CheckPoll(user, number, oldpolls) == "") then
user:SendPM(Bot, "There is no Vote-Poll with the number "..number..".")
else
SendToAll(Bot, CheckPoll(user, number, oldpolls))
end
elseif(opt == "new") then
if (CheckPoll(user, number, votetext) == "") then
user:SendPM(Bot, "There is no Vote-Poll with the number "..number..".")
else
SendToAll(Bot, CheckPoll(user, number, votetext))
end
else
user:SendPM(Bot, "Syntax error, +svmain , must be (old = old polls) or (new = polls that haven't been closed)")
end
end
else
user:SendPM(Bot, "You don?t have permision to this command.")
end
return 1
elseif (cmd=="+votelist") then
if (user.iProfile == 0) then
if (readfrom(oldpolls) == nil or ReadPoll(user, oldpolls) == "") then
user:SendPM(Bot, "There is no closed Vote-Polls")
else
user:SendPM(Bot, ReadPoll(user, oldpolls))
end
else
user:SendPM(Bot, "You don?t have permision to this command.")
end
return 1
elseif (cmd=="+votefor") then
if (readfrom(votetext) == nil or ReadPoll(user, votetext) == "") then
user:SendPM(Bot, "There is no Vote-Polls")
else
user:SendPM(Bot, ReadPoll(user, votetext))
end
return 1
elseif (cmd=="+vote") then
local s,e,number,opt = strfind(data,"%b<>%s+%S+%s+(%S+)%s+(%S+)")
if (tonumber(number) == nil) then
user:SendPM(Bot, "Syntax error, +vote , nr must be a number.")
else
number = tonumber(number)
if (opt == nil or opt == "" or opt ~= "n" and opt ~= "y") then
user:SendPM(Bot, "Syntax error, +vote , must type (y = yes) or (n = no).")
else
if (Vote(user, number, opt) == 1) then
user:SendPM(Bot, "Your Vote has been registered.")
vt[user.sName] = 1
nr[user.sName] = number
elseif(Vote(user, number, opt) == 2) then
user:SendPM(Bot, "You have already made a vote on this Vote-Poll")
else
user:SendPM(Bot, "There isn?t any Vote-Poll with the number "..number..".")
end
end
end
return 1
end
end
end

function CreatePoll(user, number, question)
local tmp = ""
local time = 0
   readfrom(votetext)
   while 1 do
      local line = read()
      if (line == nil) then
if (time == 2) then
         break
else
tmp = tmp.."Nr: "..number.." Question: "..question.." Yes: 0 No: 0 Active: Yes\r\n"
time = 1
         break
         end
      else
local s,e,num = strfind(line,"Nr:%s+(%S+)%s+")
if (tonumber(num) == number) then
tmp = tmp..line.."\r\n"
time = 2
else
tmp = tmp..line.."\r\n"
end
      end
   end
readfrom()
writeto(votetext)
write(tmp)
writeto()
return time
end

function OldPoll(user, number)
local tmp = ""
local tmp2 = ""
local time = 0
   readfrom(votetext)
   while 1 do
      local line = read()
      if (line == nil) then
      break
      else
local s,e, num, question, ny, nn = strfind(line,"Nr:%s+(%S+)%s+(.*)Yes:%s+(%S+)%s+No:%s+(%S+)%s+Active:")
if (tonumber(num) == number) then
tmp2 = tmp2.."Nr: "..number.." "..question.."Yes: "..ny.." No: "..nn.." Active: No\r\n"
         time = 1
else
tmp = tmp..line.."\r\n"
end
      end
   end
readfrom()
writeto(votetext)
write(tmp)
writeto()
if (time == 0) then
else
appendto(oldpolls)
write(tmp2)
writeto()
end
return time
end

function CheckPoll(user, number, file)
local tmp = ""
   readfrom(file)
   while 1 do
      local line = read()
      if (line == nil) then
      break
      else
local s,e, num, question, ny, nn = strfind(line,"Nr:%s+(%S+)%s+(.*)Yes:%s+(%S+)%s+No:%s+(%S+)%s+Active:")
if (tonumber(num) == number) then
tmp = tmp.."\r\n-------------------- Vote Poll --------------------\r\n"
tmp = tmp.."Results of Vote-Poll Nr: "..num.."\r\n"
tmp = tmp.."Vote "..question.."\r\n"
tmp = tmp.."------------------------------\r\n"
tmp = tmp.."Yes: "..ny.."\r\n"
tmp = tmp.."No: "..nn.."\r\n"
tmp = tmp.."------------------------------\r\n"
if (tonumber(ny) > tonumber(nn)) then
tmp = tmp.."Yes is Winnig."
elseif (tonumber(ny) < tonumber(nn)) then
tmp = tmp.."No is Winnig."
elseif (tonumber(ny) == tonumber(nn)) then
tmp = tmp.."Yes and No is equal."
end
break
else
end
      end
   end
readfrom()
return tmp
end

function ReadPoll(user, file)
local tmp = ""
   readfrom(file)
   while 1 do
      local line = read()
      if (line == nil) then
      break
      else
local s,e, num, question, ny, nn = strfind(line,"Nr:%s+(%S+)%s+(.*)Yes:%s+(%S+)%s+No:%s+(%S+)%s+Active:")
tmp = tmp.."\r\n-------------------- Vote Poll --------------------\r\n"
tmp = tmp.."Results of Vote-Poll Nr: "..num.."\r\n"
tmp = tmp.."Vote "..question.."\r\n"
tmp = tmp.."------------------------------\r\n"
tmp = tmp.."Yes: "..ny.."\r\n"
tmp = tmp.."No: "..nn.."\r\n"
tmp = tmp.."------------------------------\r\n"
if (file == oldpolls) then
tmp = tmp.."Closed Vote-Poll\r\n"
elseif (file == votetext) then
tmp = tmp.."Active Vote-Poll\r\n"
end
      end
   end
readfrom()
return tmp
end

function Vote(user, number, opt)
local tmp = ""
local time = 0
if (vt[user.sName] == 1 and nr[user.sName] == number) then
   time = 2
else
   readfrom(votetext)
   while 1 do
      local line = read()
      if (line == nil) then
      break
      else
local s,e, num, question, ny, nn = strfind(line,"Nr:%s+(%S+)%s+(.*)Yes:%s+(%S+)%s+No:%s+(%S+)%s+Active:")
if (tonumber(num) == number) then
if (opt == "y") then
ny = tonumber(ny) + 1
elseif (opt == "n") then
nn = tonumber(nn) + 1
end
tmp = tmp.."Nr: "..number.." "..question.."Yes: "..ny.." No: "..nn.." Active: Yes\r\n"
         time = 1
else
tmp = tmp..line.."\r\n"
end
      end
   end
readfrom()
writeto(votetext)
write(tmp)
writeto()
end
return time
end

Best regards, nErBoS
Title:
Post by: (=CyberPimp=) on 29 February, 2004, 21:59:34
+votelist comes with this error
Syntax Error: attempt to concat local `num' (a nil value)
when I try when the vote is on.

also:
[20:56:27] <[=CyberPimp=]> +createvote 1 Ert ?? perri
[20:56:27] There is a already a Vote-Poll with the number 1.
[20:56:42] <[=CyberPimp=]> +stopvote 1
[20:56:43] There is no Vote-Poll with the number 1.

can?t stop the vote
Title:
Post by: nErBoS on 29 February, 2004, 23:34:24
Hi,

I have been trying the script and i got no error or that conflit !!
Please show me your votepoll.txt and oldpoll.txt.

Best regards, nErBoS
Title:
Post by: (=CyberPimp=) on 01 March, 2004, 02:25:16
No you?re right. I dumped the old one and made a new script and there were no errors. Maybe I did something wrong....I don?t know, but It works fine now.
Title:
Post by: (=CyberPimp=) on 01 March, 2004, 03:02:22
It still seems to be problem with +votefor command, try it. If your running a poll and a user wants to know what poll is running useing +votefor, does not work even for ops and me.

PtokaX comes with each time I try +votefor
Syntax Error: attempt to concat local `num' (a nil value)

Votepoll:
Nr: 1 Question: ? a? hafa min share 15GB Yes: 14 No: 3 Active: Yes

Oldpolls:
Nothing
Title: Nice
Post by: Flux on 01 March, 2004, 03:35:00
A very nice script. I have inserted it in my hub and so far no probs with it. But if any arrise then i will definately inform you and show the error message. Thanx very much...
Title:
Post by: nErBoS on 01 March, 2004, 14:33:31
Hi,

Please show me your votetext.txt.

Best regards, nErBoS
Title:
Post by: nErBoS on 02 March, 2004, 03:42:21
Hi,

Let's hope this will resolve the problem..

--Requested by (=CyberPimp=)
--Made by nErBoS

Bot = "Vote-Bot"

vt = {}
nr = {}

votetext = "votepoll.txt" --Will be created in the script folder
oldpolls = "oldpolls.txt" --Will be created in the script folder

function Main()
frmHub:RegBot(Bot)
end

function NewUserConnected(user, data)
if (vt[user.sName] == nil) then
vt[user.sName] = 0
end
if (nr[user.sName] == nil) then
nr[user.sName] = 0
end
end

function DataArrival(user, data)

if (strsub(data,1,1)=="<") or (strsub(data,1,5+strlen(Bot))=="$To: "..Bot) then
data=strsub(data,1,strlen(data)-1)
s,e,cmd = strfind(data,"%b<>%s+(%S+)")
if (cmd=="+votehelp") then
local msg = ""
if (user.iProfile == 0) then
msg = msg.."Commands to the Vote-Poll:\r\n"
msg = msg.."\r\n"
msg = msg.."+createvote \tCreates a poll (nr = number to give to poll) (q = Poll question)\r\n"
msg = msg.."+stopvote \t\tWill end the vote-poll\r\n"
msg = msg.."+showvote \tShow the vote results of the poll (old = old polls) or (new = polls that haven't been closed)\r\n"
msg = msg.."+svmain \tShow the vote results in the mainchat (old = old polls) or (new = polls that haven't been closed)\r\n"
msg = msg.."+votelist\t\t\tShow all finished polls\r\n"
msg = msg.."+votefor\t\t\tShow the polls that you can vote\r\n"
msg = msg.."+vote \t\tTo vote on the poll (y = yes) (n = no) (nr = number of the poll)\r\n"
msg = msg.."\r\n"
user:SendPM(Bot, msg)
else
msg = msg.."Commands to the Vote-Poll:\r\n"
msg = msg.."\r\n"
msg = msg.."+votefor\t\t\tShow the polls that you can vote\r\n"
msg = msg.."+vote \t\tTo vote on the poll (y = yes) (n = no) (nr = number of the poll)\r\n"
msg = msg.."\r\n"
user:SendPM(Bot, msg)
end
return 1
elseif (cmd=="+createvote") then
if (user.iProfile == 0) then
local s,e,number,question = strfind(data,"%b<>%s+%S+%s+(%S+)%s+(.*)")
if (tonumber(number) == nil) then
user:SendPM(Bot, "Syntax error, +createvote , nr must be a number.")
else
number = tonumber(number)
if (question == nil or question == "") then
user:SendPM(Bot, "Syntax error, +createvote , you must write a question to the poll.")
else
if (CreatePoll(user, number, question) == 1) then
user:SendPM(Bot, "The Vote-Poll has been created.")
else
user:SendPM(Bot, "There is a already a Vote-Poll with the number "..number..".")
end
end
end
else
user:SendPM(Bot, "You don?t have permision to this command.")
end
return 1
elseif (cmd=="+stopvote") then
if (user.iProfile == 0) then
local s,e,number = strfind(data,"%b<>%s+%S+%s+(.*)")
if (tonumber(number) == nil or number == "") then
user:SendPM(Bot, "Syntax error, +stopvote , nr must be a number.")
else
number = tonumber(number)
if (OldPoll(user, number) == 1) then
user:SendPM(Bot, "The Vote-Poll has been closed an saved on the Old Polls.")
else
user:SendPM(Bot, "There is no Vote-Poll with the number "..number..".")
end
end
else
user:SendPM(Bot, "You don?t have permision to this command.")
end
return 1
elseif (cmd=="+showvote") then
if (user.iProfile == 0) then
local s,e,number, opt = strfind(data,"%b<>%s+%S+%s+(%S+)%s+(%S+)")
if (tonumber(number) == nil) then
user:SendPM(Bot, "Syntax error, +showvote , nr must be a number.")
else
number = tonumber(number)
if (opt == "old") then
if (CheckPoll(user, number, oldpolls) == "") then
user:SendPM(Bot, "There is no Vote-Poll with the number "..number..".")
else
user:SendPM(Bot, CheckPoll(user, number, oldpolls))
end
elseif(opt == "new") then
if (CheckPoll(user, number, votetext) == "") then
user:SendPM(Bot, "There is no Vote-Poll with the number "..number..".")
else
user:SendPM(Bot, CheckPoll(user, number, votetext))
end
else
user:SendPM(Bot, "Syntax error, +showvote , must be (old = old polls) or (new = polls that haven't been closed)")
end
end
else
user:SendPM(Bot, "You don?t have permision to this command.")
end
return 1
elseif (cmd=="+svmain") then
if (user.iProfile == 0) then
local s,e,number, opt = strfind(data,"%b<>%s+%S+%s+(%S+)%s+(%S+)")
if (tonumber(number) == nil) then
user:SendPM(Bot, "Syntax error, +svmain , nr must be a number.")
else
number = tonumber(number)
if (opt == "old") then
if (CheckPoll(user, number, oldpolls) == "") then
user:SendPM(Bot, "There is no Vote-Poll with the number "..number..".")
else
SendToAll(Bot, CheckPoll(user, number, oldpolls))
end
elseif(opt == "new") then
if (CheckPoll(user, number, votetext) == "") then
user:SendPM(Bot, "There is no Vote-Poll with the number "..number..".")
else
SendToAll(Bot, CheckPoll(user, number, votetext))
end
else
user:SendPM(Bot, "Syntax error, +svmain , must be (old = old polls) or (new = polls that haven't been closed)")
end
end
else
user:SendPM(Bot, "You don?t have permision to this command.")
end
return 1
elseif (cmd=="+votelist") then
if (user.iProfile == 0) then
if (readfrom(oldpolls) == nil or ReadPoll(user, oldpolls) == "") then
user:SendPM(Bot, "There is no closed Vote-Polls")
else
user:SendPM(Bot, ReadPoll(user, oldpolls))
end
else
user:SendPM(Bot, "You don?t have permision to this command.")
end
return 1
elseif (cmd=="+votefor") then
if (readfrom(votetext) == nil or ReadPoll(user, votetext) == "") then
user:SendPM(Bot, "There is no Vote-Polls")
else
user:SendPM(Bot, ReadPoll(user, votetext))
end
return 1
elseif (cmd=="+vote") then
local s,e,number,opt = strfind(data,"%b<>%s+%S+%s+(%S+)%s+(%S+)")
if (tonumber(number) == nil) then
user:SendPM(Bot, "Syntax error, +vote , nr must be a number.")
else
number = tonumber(number)
if (opt == nil or opt == "" or opt ~= "n" and opt ~= "y") then
user:SendPM(Bot, "Syntax error, +vote , must type (y = yes) or (n = no).")
else
if (Vote(user, number, opt) == 1) then
user:SendPM(Bot, "Your Vote has been registered.")
vt[user.sName] = 1
nr[user.sName] = number
elseif(Vote(user, number, opt) == 2) then
user:SendPM(Bot, "You have already made a vote on this Vote-Poll")
else
user:SendPM(Bot, "There isn?t any Vote-Poll with the number "..number..".")
end
end
end
return 1
end
end
end

function CreatePoll(user, number, question)
local tmp = ""
local time = 0
   readfrom(votetext)
   while 1 do
      local line = read()
      if (line == nil) then
if (time == 2) then
         break
else
tmp = tmp.."Nr: "..number.." Question: "..question.." Yes: 0 No: 0 Active: Yes\r\n"
time = 1
         break
         end
      else
local s,e,num = strfind(line,"Nr:%s+(%S+)%s+")
if (tonumber(num) == number) then
tmp = tmp..line.."\r\n"
time = 2
else
tmp = tmp..line.."\r\n"
end
      end
   end
readfrom()
writeto(votetext)
write(tmp)
writeto()
return time
end

function OldPoll(user, number)
local tmp = ""
local tmp2 = ""
local time = 0
   readfrom(votetext)
   while 1 do
      local line = read()
      if (line == nil) then
      break
      else
local s,e, num, question, ny, nn = strfind(line,"Nr:%s+(%S+)%s+(.*)Yes:%s+(%S+)%s+No:%s+(%S+)%s+Active:")
if (tonumber(num) == number) then
tmp2 = tmp2.."Nr: "..number.." "..question.."Yes: "..ny.." No: "..nn.." Active: No\r\n"
         time = 1
else
tmp = tmp..line.."\r\n"
end
      end
   end
readfrom()
writeto(votetext)
write(tmp)
writeto()
if (time == 0) then
else
appendto(oldpolls)
write(tmp2)
writeto()
end
return time
end

function CheckPoll(user, number, file)
local tmp = ""
   readfrom(file)
   while 1 do
      local line = read()
      if (line == nil) then
      break
      else
local s,e, num, question, ny, nn = strfind(line,"Nr:%s+(%S+)%s+(.*)Yes:%s+(%S+)%s+No:%s+(%S+)%s+Active:")
if (tonumber(num) == number) then
tmp = tmp.."\r\n-------------------- Vote Poll --------------------\r\n"
tmp = tmp.."Results of Vote-Poll Nr: "..num.."\r\n"
tmp = tmp.."Vote "..question.."\r\n"
tmp = tmp.."------------------------------\r\n"
tmp = tmp.."Yes: "..ny.."\r\n"
tmp = tmp.."No: "..nn.."\r\n"
tmp = tmp.."------------------------------\r\n"
if (tonumber(ny) > tonumber(nn)) then
tmp = tmp.."Yes is Winnig."
elseif (tonumber(ny) < tonumber(nn)) then
tmp = tmp.."No is Winnig."
elseif (tonumber(ny) == tonumber(nn)) then
tmp = tmp.."Yes and No is equal."
end
break
else
end
      end
   end
readfrom()
return tmp
end

function ReadPoll(user, file)
local tmp = ""
   readfrom(file)
   while 1 do
      local line = read()
      if (line == nil or line == "") then
      break
      else
local s,e, num, question, ny, nn = strfind(line,"Nr:%s+(%S+)%s+(.*)Yes:%s+(%S+)%s+No:%s+(%S+)%s+Active:")
if (num == nil) then
tmp = tmp
break
else
tmp = tmp.."\r\n-------------------- Vote Poll --------------------\r\n"
tmp = tmp.."Results of Vote-Poll Nr: "..num.."\r\n"
tmp = tmp.."Vote "..question.."\r\n"
tmp = tmp.."------------------------------\r\n"
tmp = tmp.."Yes: "..ny.."\r\n"
tmp = tmp.."No: "..nn.."\r\n"
tmp = tmp.."------------------------------\r\n"
if (file == oldpolls) then
tmp = tmp.."Closed Vote-Poll\r\n"
elseif (file == votetext) then
tmp = tmp.."Active Vote-Poll\r\n"
end
end
      end
   end
readfrom()
return tmp
end

function Vote(user, number, opt)
local tmp = ""
local time = 0
if (vt[user.sName] == 1 and nr[user.sName] == number) then
   time = 2
else
   readfrom(votetext)
   while 1 do
      local line = read()
      if (line == nil) then
      break
      else
local s,e, num, question, ny, nn = strfind(line,"Nr:%s+(%S+)%s+(.*)Yes:%s+(%S+)%s+No:%s+(%S+)%s+Active:")
if (tonumber(num) == number) then
if (opt == "y") then
ny = tonumber(ny) + 1
elseif (opt == "n") then
nn = tonumber(nn) + 1
end
tmp = tmp.."Nr: "..number.." "..question.."Yes: "..ny.." No: "..nn.." Active: Yes\r\n"
         time = 1
else
tmp = tmp..line.."\r\n"
end
      end
   end
readfrom()
writeto(votetext)
write(tmp)
writeto()
end
return time
end

Your bug is fixed CyberPimp, if you find more just reports :).

Best regards, nErBoS
Title:
Post by: (=CyberPimp=) on 02 March, 2004, 12:50:53
Well the error is gone and it comes with a massege, but it dosen?t show the vote-poll witch is running. It sould show all the polls (If more then 1) in the votepoll.txt.
If you could do that, than it?s finished hehe.

[11:10:18] <[=CyberPimp=]> +createvote 2 bara test
[11:10:18] The Vote-Poll has been created.
[11:10:25] <[=CyberPimp=]> +votefor
[11:10:26] There is no Vote-Polls

and more....

[11:40:48] <[=CyberPimp=]> +createvote 3 bara test
[11:40:48] The Vote-Poll has been created.
[11:40:58] <[=CyberPimp=]> +votelist
[11:40:58] There is no closed Vote-Polls
[11:41:11] <[=CyberPimp=]> +vote 3 y
[11:41:11] There isn?t any Vote-Poll with the number 3.
[11:41:38] <[=CyberPimp=]> +votefor
[11:41:38] There is no Vote-Polls
[11:41:55] <[=CyberPimp=]> +stopvote 3
[11:41:56] There is no Vote-Poll with the number 3.


+votelist does not work, there is a old votepoll in oldpolls.

There is some tiny error............
Title:
Post by: nErBoS on 02 March, 2004, 14:34:39
Hi,

Have you work on the txts ??

That happens because you have blank lines in the text file ! Try to erase the both txt files and let the script genarete them by theirselve.

Best regards, nErBoS
Title:
Post by: (=CyberPimp=) on 02 March, 2004, 20:42:39
Go figure..my mistake  hehe.
It works now (for me :o) )
even tried heving 2 polls on at the same time, that works great.
Great job, this is a great script.

You could add +delvote from oldpoll, for a guy?s like me hehe.
If not, then I need to look out for gaps/blank lines when I delete polls from oldpoll.txt. Right ?

Thanx again for doing this script. It?s good to know that others use it aswell  :D .
Title:
Post by: nErBoS on 02 March, 2004, 23:18:48
Hi,

I added the command that you requested and also some adds to not have problem with blank lines, lets hope it works.

--Requested by (=CyberPimp=)
--Made by nErBoS

Bot = "Vote-Bot"

vt = {}
nr = {}

votetext = "votepoll.txt" --Will be created in the script folder
oldpolls = "oldpolls.txt" --Will be created in the script folder

function Main()
frmHub:RegBot(Bot)
end

function NewUserConnected(user, data)
if (vt[user.sName] == nil) then
vt[user.sName] = 0
end
if (nr[user.sName] == nil) then
nr[user.sName] = 0
end
end

function DataArrival(user, data)

if (strsub(data,1,1)=="<") or (strsub(data,1,5+strlen(Bot))=="$To: "..Bot) then
data=strsub(data,1,strlen(data)-1)
s,e,cmd = strfind(data,"%b<>%s+(%S+)")
if (cmd=="+votehelp") then
local msg = ""
if (user.iProfile == 0) then
msg = msg.."Commands to the Vote-Poll:\r\n"
msg = msg.."\r\n"
msg = msg.."+createvote \tCreates a poll (nr = number to give to poll) (q = Poll question)\r\n"
msg = msg.."+stopvote \t\tWill end the vote-poll\r\n"
msg = msg.."+showvote \tShow the vote results of the poll (old = old polls) or (new = polls that haven't been closed)\r\n"
msg = msg.."+svmain \tShow the vote results in the mainchat (old = old polls) or (new = polls that haven't been closed)\r\n"
msg = msg.."+votelist\t\t\tShow all finished polls\r\n"
msg = msg.."+votefor\t\t\tShow the polls that you can vote\r\n"
msg = msg.."+vote \t\tTo vote on the poll (y = yes) (n = no) (nr = number of the poll)\r\n"
msg = msg.."+delvote \t\tTo delete old polls (nr = number of the poll)\r\n"
msg = msg.."\r\n"
user:SendPM(Bot, msg)
else
msg = msg.."Commands to the Vote-Poll:\r\n"
msg = msg.."\r\n"
msg = msg.."+votefor\t\t\tShow the polls that you can vote\r\n"
msg = msg.."+vote \t\tTo vote on the poll (y = yes) (n = no) (nr = number of the poll)\r\n"
msg = msg.."\r\n"
user:SendPM(Bot, msg)
end
return 1
elseif (cmd=="+createvote") then
if (user.iProfile == 0) then
local s,e,number,question = strfind(data,"%b<>%s+%S+%s+(%S+)%s+(.*)")
if (tonumber(number) == nil) then
user:SendPM(Bot, "Syntax error, +createvote , nr must be a number.")
else
number = tonumber(number)
if (question == nil or question == "") then
user:SendPM(Bot, "Syntax error, +createvote , you must write a question to the poll.")
else
if (CreatePoll(user, number, question) == 1) then
user:SendPM(Bot, "The Vote-Poll has been created.")
else
user:SendPM(Bot, "There is a already a Vote-Poll with the number "..number..".")
end
end
end
else
user:SendPM(Bot, "You don?t have permision to this command.")
end
return 1
elseif (cmd=="+stopvote") then
if (user.iProfile == 0) then
local s,e,number = strfind(data,"%b<>%s+%S+%s+(.*)")
if (tonumber(number) == nil or number == "") then
user:SendPM(Bot, "Syntax error, +stopvote , nr must be a number.")
else
number = tonumber(number)
if (OldPoll(user, number) == 1) then
user:SendPM(Bot, "The Vote-Poll has been closed an saved on the Old Polls.")
else
user:SendPM(Bot, "There is no Vote-Poll with the number "..number..".")
end
end
else
user:SendPM(Bot, "You don?t have permision to this command.")
end
return 1
elseif (cmd=="+showvote") then
if (user.iProfile == 0) then
local s,e,number, opt = strfind(data,"%b<>%s+%S+%s+(%S+)%s+(%S+)")
if (tonumber(number) == nil) then
user:SendPM(Bot, "Syntax error, +showvote , nr must be a number.")
else
number = tonumber(number)
if (opt == "old") then
if (CheckPoll(user, number, oldpolls) == "") then
user:SendPM(Bot, "There is no Vote-Poll with the number "..number..".")
else
user:SendPM(Bot, CheckPoll(user, number, oldpolls))
end
elseif(opt == "new") then
if (CheckPoll(user, number, votetext) == "") then
user:SendPM(Bot, "There is no Vote-Poll with the number "..number..".")
else
user:SendPM(Bot, CheckPoll(user, number, votetext))
end
else
user:SendPM(Bot, "Syntax error, +showvote , must be (old = old polls) or (new = polls that haven't been closed)")
end
end
else
user:SendPM(Bot, "You don?t have permision to this command.")
end
return 1
elseif (cmd=="+svmain") then
if (user.iProfile == 0) then
local s,e,number, opt = strfind(data,"%b<>%s+%S+%s+(%S+)%s+(%S+)")
if (tonumber(number) == nil) then
user:SendPM(Bot, "Syntax error, +svmain , nr must be a number.")
else
number = tonumber(number)
if (opt == "old") then
if (CheckPoll(user, number, oldpolls) == "") then
user:SendPM(Bot, "There is no Vote-Poll with the number "..number..".")
else
SendToAll(Bot, CheckPoll(user, number, oldpolls))
end
elseif(opt == "new") then
if (CheckPoll(user, number, votetext) == "") then
user:SendPM(Bot, "There is no Vote-Poll with the number "..number..".")
else
SendToAll(Bot, CheckPoll(user, number, votetext))
end
else
user:SendPM(Bot, "Syntax error, +svmain , must be (old = old polls) or (new = polls that haven't been closed)")
end
end
else
user:SendPM(Bot, "You don?t have permision to this command.")
end
return 1
elseif (cmd=="+votelist") then
if (user.iProfile == 0) then
if (readfrom(oldpolls) == nil or ReadPoll(user, oldpolls) == "") then
user:SendPM(Bot, "There is no closed Vote-Polls")
else
user:SendPM(Bot, ReadPoll(user, oldpolls))
end
else
user:SendPM(Bot, "You don?t have permision to this command.")
end
return 1
elseif (cmd=="+votefor") then
if (readfrom(votetext) == nil or ReadPoll(user, votetext) == "") then
user:SendPM(Bot, "There is no Vote-Polls")
else
user:SendPM(Bot, ReadPoll(user, votetext))
end
return 1
elseif (cmd=="+vote") then
local s,e,number,opt = strfind(data,"%b<>%s+%S+%s+(%S+)%s+(%S+)")
if (tonumber(number) == nil) then
user:SendPM(Bot, "Syntax error, +vote , nr must be a number.")
else
number = tonumber(number)
if (opt == nil or opt == "" or opt ~= "n" and opt ~= "y") then
user:SendPM(Bot, "Syntax error, +vote , must type (y = yes) or (n = no).")
else
if (Vote(user, number, opt) == 1) then
user:SendPM(Bot, "Your Vote has been registered.")
vt[user.sName] = 1
nr[user.sName] = number
elseif(Vote(user, number, opt) == 2) then
user:SendPM(Bot, "You have already made a vote on this Vote-Poll")
else
user:SendPM(Bot, "There isn?t any Vote-Poll with the number "..number..".")
end
end
end
return 1
elseif (cmd=="+delvote") then
if (user.iProfile == 0) then
local s,e,number = strfind(data,"%b<>%s+%S+%s+(%S+)")
if (tonumber(number) == nil) then
user:SendPM(Bot, "Syntax error, +delvote , nr must be a number.")
else
number = tonumber(number)
if (DelOldPoll(user, number) == 0) then
user:SendPM(Bot, "Ther is no Old Polll wtih the number "..number)
else
user:SendPM(Bot, "The Old Poll has been deleted.")
end
end
else
user:SendPM(Bot, "You don?t have permision to this command.")
end
return 1
end
end
end

function CreatePoll(user, number, question)
local tmp = ""
local time = 0
   readfrom(votetext)
   while 1 do
      local line = read()
      if (line == nil) then
if (time == 2) then
         break
else
tmp = tmp.."Nr: "..number.." Question: "..question.." Yes: 0 No: 0 Active: Yes\r\n"
time = 1
         break
         end
      else
local s,e,num = strfind(line,"Nr:%s+(%S+)%s+")
if (tonumber(num) ~= nil and tonumber(num) == number) then
tmp = tmp..line.."\r\n"
time = 2
else
tmp = tmp..line.."\r\n"
end
      end
   end
readfrom()
writeto(votetext)
write(tmp)
writeto()
return time
end

function OldPoll(user, number)
local tmp = ""
local tmp2 = ""
local time = 0
   readfrom(votetext)
   while 1 do
      local line = read()
      if (line == nil) then
      break
      else
local s,e, num, question, ny, nn = strfind(line,"Nr:%s+(%S+)%s+(.*)Yes:%s+(%S+)%s+No:%s+(%S+)%s+Active:")
if (tonumber(num) ~= nil and tonumber(num) == number) then
tmp2 = tmp2.."Nr: "..number.." "..question.."Yes: "..ny.." No: "..nn.." Active: No\r\n"
         time = 1
else
tmp = tmp..line.."\r\n"
end
      end
   end
readfrom()
writeto(votetext)
write(tmp)
writeto()
if (time == 0) then
else
appendto(oldpolls)
write(tmp2)
writeto()
end
return time
end

function CheckPoll(user, number, file)
local tmp = ""
   readfrom(file)
   while 1 do
      local line = read()
      if (line == nil) then
      break
      else
local s,e, num, question, ny, nn = strfind(line,"Nr:%s+(%S+)%s+(.*)Yes:%s+(%S+)%s+No:%s+(%S+)%s+Active:")
if (tonumber(num) ~= nil and tonumber(num) == number) then
tmp = tmp.."\r\n-------------------- Vote Poll --------------------\r\n"
tmp = tmp.."Results of Vote-Poll Nr: "..num.."\r\n"
tmp = tmp.."Vote "..question.."\r\n"
tmp = tmp.."------------------------------\r\n"
tmp = tmp.."Yes: "..ny.."\r\n"
tmp = tmp.."No: "..nn.."\r\n"
tmp = tmp.."------------------------------\r\n"
if (tonumber(ny) > tonumber(nn)) then
tmp = tmp.."Yes is Winnig."
elseif (tonumber(ny) < tonumber(nn)) then
tmp = tmp.."No is Winnig."
elseif (tonumber(ny) == tonumber(nn)) then
tmp = tmp.."Yes and No is equal."
end
break
else
end
      end
   end
readfrom()
return tmp
end

function ReadPoll(user, file)
local tmp = ""
   readfrom(file)
   while 1 do
      local line = read()
      if (line == nil or line == "") then
      break
      else
local s,e, num, question, ny, nn = strfind(line,"Nr:%s+(%S+)%s+(.*)Yes:%s+(%S+)%s+No:%s+(%S+)%s+Active:")
if (num == nil) then
else
tmp = tmp.."\r\n-------------------- Vote Poll --------------------\r\n"
tmp = tmp.."Results of Vote-Poll Nr: "..num.."\r\n"
tmp = tmp.."Vote "..question.."\r\n"
tmp = tmp.."------------------------------\r\n"
tmp = tmp.."Yes: "..ny.."\r\n"
tmp = tmp.."No: "..nn.."\r\n"
tmp = tmp.."------------------------------\r\n"
if (file == oldpolls) then
tmp = tmp.."Closed Vote-Poll\r\n"
elseif (file == votetext) then
tmp = tmp.."Active Vote-Poll\r\n"
end
end
      end
   end
readfrom()
return tmp
end

function Vote(user, number, opt)
local tmp = ""
local time = 0
if (vt[user.sName] == 1 and nr[user.sName] == number) then
   time = 2
else
   readfrom(votetext)
   while 1 do
      local line = read()
      if (line == nil) then
      break
      else
local s,e, num, question, ny, nn = strfind(line,"Nr:%s+(%S+)%s+(.*)Yes:%s+(%S+)%s+No:%s+(%S+)%s+Active:")
if (tonumber(num) ~= nil and tonumber(num) == number) then
if (opt == "y") then
ny = tonumber(ny) + 1
elseif (opt == "n") then
nn = tonumber(nn) + 1
end
tmp = tmp.."Nr: "..number.." "..question.."Yes: "..ny.." No: "..nn.." Active: Yes\r\n"
         time = 1
else
tmp = tmp..line.."\r\n"
end
      end
   end
readfrom()
writeto(votetext)
write(tmp)
writeto()
end
return time
end

function DelOldPoll(user, number)
local tmp = ""
local time = 0
   readfrom(oldpolls)
   while 1 do
      local line = read()
      if (line == nil) then
      break
      else
local s,e, num, question, ny, nn = strfind(line,"Nr:%s+(%S+)%s+(.*)Yes:%s+(%S+)%s+No:%s+(%S+)%s+Active:")
if (tonumber(num) ~= nil and tonumber(num) == number) then
         time = 1
else
tmp = tmp..line.."\r\n"
end
      end
   end
readfrom()
writeto(oldpolls)
write(tmp)
writeto()
return time
end

Best regards, nErBoS
Title:
Post by: (=CyberPimp=) on 03 March, 2004, 00:18:48
works great.

(something that doesn?t really matter).....but......
I had a poll in the oldpoll nr. 3, I created another poll nr.3 and stoped. So there are two polls nr.3 and ofcourse when I used +delvote 3, thay both deleted.

Can you make the script check the old poll aswell when creating new poll. It only checks the polls that are running. Like this....
[23:14:12] <[=CyberPimp=]> +createvote 1 test 1
[23:14:12] The Vote-Poll has been created.
[23:14:33] <[=CyberPimp=]> +createvote 1 test 2
[23:14:33] There is a already a Vote-Poll with the number 1.
..........but it does not check the oldpoll.txt

I think you get what I?m babling about hehe.

Then it sould be done. :D
Title:
Post by: nErBoS on 03 March, 2004, 02:55:06
Hi,

Made it with a little sleep but i think it will work...

--Requested by (=CyberPimp=)
--Made by nErBoS

Bot = "Vote-Bot"

vt = {}
nr = {}

votetext = "votepoll.txt" --Will be created in the script folder
oldpolls = "oldpolls.txt" --Will be created in the script folder

function Main()
frmHub:RegBot(Bot)
end

function NewUserConnected(user, data)
if (vt[user.sName] == nil) then
vt[user.sName] = 0
end
if (nr[user.sName] == nil) then
nr[user.sName] = 0
end
end

function DataArrival(user, data)

if (strsub(data,1,1)=="<") or (strsub(data,1,5+strlen(Bot))=="$To: "..Bot) then
data=strsub(data,1,strlen(data)-1)
s,e,cmd = strfind(data,"%b<>%s+(%S+)")
if (cmd=="+votehelp") then
local msg = ""
if (user.iProfile == 0) then
msg = msg.."Commands to the Vote-Poll:\r\n"
msg = msg.."\r\n"
msg = msg.."+createvote \tCreates a poll (nr = number to give to poll) (q = Poll question)\r\n"
msg = msg.."+stopvote \t\tWill end the vote-poll\r\n"
msg = msg.."+showvote \tShow the vote results of the poll (old = old polls) or (new = polls that haven't been closed)\r\n"
msg = msg.."+svmain \tShow the vote results in the mainchat (old = old polls) or (new = polls that haven't been closed)\r\n"
msg = msg.."+votelist\t\t\tShow all finished polls\r\n"
msg = msg.."+votefor\t\t\tShow the polls that you can vote\r\n"
msg = msg.."+vote \t\tTo vote on the poll (y = yes) (n = no) (nr = number of the poll)\r\n"
msg = msg.."+delvote \t\tTo delete old polls (nr = number of the poll)\r\n"
msg = msg.."\r\n"
user:SendPM(Bot, msg)
else
msg = msg.."Commands to the Vote-Poll:\r\n"
msg = msg.."\r\n"
msg = msg.."+votefor\t\t\tShow the polls that you can vote\r\n"
msg = msg.."+vote \t\tTo vote on the poll (y = yes) (n = no) (nr = number of the poll)\r\n"
msg = msg.."\r\n"
user:SendPM(Bot, msg)
end
return 1
elseif (cmd=="+createvote") then
if (user.iProfile == 0) then
local s,e,number,question = strfind(data,"%b<>%s+%S+%s+(%S+)%s+(.*)")
if (tonumber(number) == nil) then
user:SendPM(Bot, "Syntax error, +createvote , nr must be a number.")
else
number = tonumber(number)
if (question == nil or question == "") then
user:SendPM(Bot, "Syntax error, +createvote , you must write a question to the poll.")
else
if (CreatePoll(user, number, question) == 1) then
user:SendPM(Bot, "The Vote-Poll has been created.")
else
user:SendPM(Bot, "There is a already a Vote-Poll with the number "..number..".")
end
end
end
else
user:SendPM(Bot, "You don?t have permision to this command.")
end
return 1
elseif (cmd=="+stopvote") then
if (user.iProfile == 0) then
local s,e,number = strfind(data,"%b<>%s+%S+%s+(.*)")
if (tonumber(number) == nil or number == "") then
user:SendPM(Bot, "Syntax error, +stopvote , nr must be a number.")
else
number = tonumber(number)
if (OldPoll(user, number) == 1) then
user:SendPM(Bot, "The Vote-Poll has been closed an saved on the Old Polls.")
else
user:SendPM(Bot, "There is no Vote-Poll with the number "..number..".")
end
end
else
user:SendPM(Bot, "You don?t have permision to this command.")
end
return 1
elseif (cmd=="+showvote") then
if (user.iProfile == 0) then
local s,e,number, opt = strfind(data,"%b<>%s+%S+%s+(%S+)%s+(%S+)")
if (tonumber(number) == nil) then
user:SendPM(Bot, "Syntax error, +showvote , nr must be a number.")
else
number = tonumber(number)
if (opt == "old") then
if (CheckPoll(user, number, oldpolls) == "") then
user:SendPM(Bot, "There is no Vote-Poll with the number "..number..".")
else
user:SendPM(Bot, CheckPoll(user, number, oldpolls))
end
elseif(opt == "new") then
if (CheckPoll(user, number, votetext) == "") then
user:SendPM(Bot, "There is no Vote-Poll with the number "..number..".")
else
user:SendPM(Bot, CheckPoll(user, number, votetext))
end
else
user:SendPM(Bot, "Syntax error, +showvote , must be (old = old polls) or (new = polls that haven't been closed)")
end
end
else
user:SendPM(Bot, "You don?t have permision to this command.")
end
return 1
elseif (cmd=="+svmain") then
if (user.iProfile == 0) then
local s,e,number, opt = strfind(data,"%b<>%s+%S+%s+(%S+)%s+(%S+)")
if (tonumber(number) == nil) then
user:SendPM(Bot, "Syntax error, +svmain , nr must be a number.")
else
number = tonumber(number)
if (opt == "old") then
if (CheckPoll(user, number, oldpolls) == "") then
user:SendPM(Bot, "There is no Vote-Poll with the number "..number..".")
else
SendToAll(Bot, CheckPoll(user, number, oldpolls))
end
elseif(opt == "new") then
if (CheckPoll(user, number, votetext) == "") then
user:SendPM(Bot, "There is no Vote-Poll with the number "..number..".")
else
SendToAll(Bot, CheckPoll(user, number, votetext))
end
else
user:SendPM(Bot, "Syntax error, +svmain , must be (old = old polls) or (new = polls that haven't been closed)")
end
end
else
user:SendPM(Bot, "You don?t have permision to this command.")
end
return 1
elseif (cmd=="+votelist") then
if (user.iProfile == 0) then
if (readfrom(oldpolls) == nil or ReadPoll(user, oldpolls) == "") then
user:SendPM(Bot, "There is no closed Vote-Polls")
else
user:SendPM(Bot, ReadPoll(user, oldpolls))
end
else
user:SendPM(Bot, "You don?t have permision to this command.")
end
return 1
elseif (cmd=="+votefor") then
if (readfrom(votetext) == nil or ReadPoll(user, votetext) == "") then
user:SendPM(Bot, "There is no Vote-Polls")
else
user:SendPM(Bot, ReadPoll(user, votetext))
end
return 1
elseif (cmd=="+vote") then
local s,e,number,opt = strfind(data,"%b<>%s+%S+%s+(%S+)%s+(%S+)")
if (tonumber(number) == nil) then
user:SendPM(Bot, "Syntax error, +vote , nr must be a number.")
else
number = tonumber(number)
if (opt == nil or opt == "" or opt ~= "n" and opt ~= "y") then
user:SendPM(Bot, "Syntax error, +vote , must type (y = yes) or (n = no).")
else
if (Vote(user, number, opt) == 1) then
user:SendPM(Bot, "Your Vote has been registered.")
vt[user.sName] = 1
nr[user.sName] = number
elseif(Vote(user, number, opt) == 2) then
user:SendPM(Bot, "You have already made a vote on this Vote-Poll")
else
user:SendPM(Bot, "There isn?t any Vote-Poll with the number "..number..".")
end
end
end
return 1
elseif (cmd=="+delvote") then
if (user.iProfile == 0) then
local s,e,number = strfind(data,"%b<>%s+%S+%s+(%S+)")
if (tonumber(number) == nil) then
user:SendPM(Bot, "Syntax error, +delvote , nr must be a number.")
else
number = tonumber(number)
if (DelOldPoll(user, number) == 0) then
user:SendPM(Bot, "Ther is no Old Polll wtih the number "..number)
else
user:SendPM(Bot, "The Old Poll has been deleted.")
end
end
else
user:SendPM(Bot, "You don?t have permision to this command.")
end
return 1
end
end
end

function CreatePoll(user, number, question)
local tmp = ""
local time = 0

   readfrom(oldpolls)
   while 1 do
      local line = read()
      if (line == nil) then
break
      else
local s,e,num = strfind(line,"Nr:%s+(%S+)%s+")
if (tonumber(num) ~= nil and tonumber(num) == number) then
time = 2
else
end
      end
   end
readfrom()

   readfrom(votetext)
   while 1 do
      local line = read()
      if (line == nil) then
if (time == 2) then
         break
else
tmp = tmp.."Nr: "..number.." Question: "..question.." Yes: 0 No: 0 Active: Yes\r\n"
time = 1
         break
         end
      else
local s,e,num = strfind(line,"Nr:%s+(%S+)%s+")
if (tonumber(num) ~= nil and tonumber(num) == number) then
tmp = tmp..line.."\r\n"
time = 2
else
tmp = tmp..line.."\r\n"
end
      end
   end
readfrom()
writeto(votetext)
write(tmp)
writeto()
return time
end

function OldPoll(user, number)
local tmp = ""
local tmp2 = ""
local time = 0
   readfrom(votetext)
   while 1 do
      local line = read()
      if (line == nil) then
      break
      else
local s,e, num, question, ny, nn = strfind(line,"Nr:%s+(%S+)%s+(.*)Yes:%s+(%S+)%s+No:%s+(%S+)%s+Active:")
if (tonumber(num) ~= nil and tonumber(num) == number) then
tmp2 = tmp2.."Nr: "..number.." "..question.."Yes: "..ny.." No: "..nn.." Active: No\r\n"
         time = 1
else
tmp = tmp..line.."\r\n"
end
      end
   end
readfrom()
writeto(votetext)
write(tmp)
writeto()
if (time == 0) then
else
appendto(oldpolls)
write(tmp2)
writeto()
end
return time
end

function CheckPoll(user, number, file)
local tmp = ""
   readfrom(file)
   while 1 do
      local line = read()
      if (line == nil) then
      break
      else
local s,e, num, question, ny, nn = strfind(line,"Nr:%s+(%S+)%s+(.*)Yes:%s+(%S+)%s+No:%s+(%S+)%s+Active:")
if (tonumber(num) ~= nil and tonumber(num) == number) then
tmp = tmp.."\r\n-------------------- Vote Poll --------------------\r\n"
tmp = tmp.."Results of Vote-Poll Nr: "..num.."\r\n"
tmp = tmp.."Vote "..question.."\r\n"
tmp = tmp.."------------------------------\r\n"
tmp = tmp.."Yes: "..ny.."\r\n"
tmp = tmp.."No: "..nn.."\r\n"
tmp = tmp.."------------------------------\r\n"
if (tonumber(ny) > tonumber(nn)) then
tmp = tmp.."Yes is Winnig."
elseif (tonumber(ny) < tonumber(nn)) then
tmp = tmp.."No is Winnig."
elseif (tonumber(ny) == tonumber(nn)) then
tmp = tmp.."Yes and No is equal."
end
break
else
end
      end
   end
readfrom()
return tmp
end

function ReadPoll(user, file)
local tmp = ""
   readfrom(file)
   while 1 do
      local line = read()
      if (line == nil or line == "") then
      break
      else
local s,e, num, question, ny, nn = strfind(line,"Nr:%s+(%S+)%s+(.*)Yes:%s+(%S+)%s+No:%s+(%S+)%s+Active:")
if (num == nil) then
else
tmp = tmp.."\r\n-------------------- Vote Poll --------------------\r\n"
tmp = tmp.."Results of Vote-Poll Nr: "..num.."\r\n"
tmp = tmp.."Vote "..question.."\r\n"
tmp = tmp.."------------------------------\r\n"
tmp = tmp.."Yes: "..ny.."\r\n"
tmp = tmp.."No: "..nn.."\r\n"
tmp = tmp.."------------------------------\r\n"
if (file == oldpolls) then
tmp = tmp.."Closed Vote-Poll\r\n"
elseif (file == votetext) then
tmp = tmp.."Active Vote-Poll\r\n"
end
end
      end
   end
readfrom()
return tmp
end

function Vote(user, number, opt)
local tmp = ""
local time = 0
if (vt[user.sName] == 1 and nr[user.sName] == number) then
   time = 2
else
   readfrom(votetext)
   while 1 do
      local line = read()
      if (line == nil) then
      break
      else
local s,e, num, question, ny, nn = strfind(line,"Nr:%s+(%S+)%s+(.*)Yes:%s+(%S+)%s+No:%s+(%S+)%s+Active:")
if (tonumber(num) ~= nil and tonumber(num) == number) then
if (opt == "y") then
ny = tonumber(ny) + 1
elseif (opt == "n") then
nn = tonumber(nn) + 1
end
tmp = tmp.."Nr: "..number.." "..question.."Yes: "..ny.." No: "..nn.." Active: Yes\r\n"
         time = 1
else
tmp = tmp..line.."\r\n"
end
      end
   end
readfrom()
writeto(votetext)
write(tmp)
writeto()
end
return time
end

function DelOldPoll(user, number)
local tmp = ""
local time = 0
   readfrom(oldpolls)
   while 1 do
      local line = read()
      if (line == nil) then
      break
      else
local s,e, num, question, ny, nn = strfind(line,"Nr:%s+(%S+)%s+(.*)Yes:%s+(%S+)%s+No:%s+(%S+)%s+Active:")
if (tonumber(num) ~= nil and tonumber(num) == number) then
         time = 1
else
tmp = tmp..line.."\r\n"
end
      end
   end
readfrom()
writeto(oldpolls)
write(tmp)
writeto()
return time
end

Best regards, nErBoS
Title:
Post by: (=CyberPimp=) on 03 March, 2004, 03:59:31
Works perfectly now.
Great script, great job and tanx for all your hard work.
I preceate it.

This script is done !!  :D  :D  :D
Title: Possible to cheat in voting!
Post by: Skyhawk on 21 April, 2004, 07:33:33
First of all this IS a great script!

But i discovered that it is still possible to cheat. I don't know how but some of my users managed to vote at least twice.

Could it be possible for you to add a better kind of check to prevent cheating?

I am thinking of a 3rd text file were the name and voting poll number is stored and backcheked if a user tries to vote again.

Can you do this?

I would really need a reliable voting script since i have some important issues to resolve within my hub...

looking foreward to your answer and or your enhanced script.

Keep up the good work!
Title:
Post by: nErBoS on 21 April, 2004, 12:40:26
Hi,

Yes it?s possible to do that, i will make a update in this script when got some free time.

Best regards, nErBoS
Title: Thank You !
Post by: Skyhawk on 21 April, 2004, 12:50:24
First of all thanks for your quick reply. I really appreciate your effort.

I know this might sound a bit pressing matters, but can you give me an approimate ETA of this update i requested/you announced?

Thank you very much,
Title:
Post by: nErBoS on 21 April, 2004, 12:59:01
Hi,

Well i will try this night if i don?t get home tired or tomorrow in the morning.

Best regards, nErBoS
Title:
Post by: (=CyberPimp=) on 21 April, 2004, 17:10:20
This is in icelandic :o) and I did some look improofments
Bot = "(=K?nnun=)"

vt = {}
nr = {}

votetext = "votepoll.txt" --Ver?ur b?in til sj?lkrafa ? script m?ppuni
oldpolls = "oldpolls.txt" --Ver?ur b?in til sj?lkrafa ? script m?ppuni

function Main()
frmHub:RegBot(Bot)
end

function NewUserConnected(user, data)
if (vt[user.sName] == nil) then
vt[user.sName] = 0
end
if (nr[user.sName] == nil) then
nr[user.sName] = 0
end
end

function DataArrival(user, data)

if (strsub(data,1,1)=="<") or (strsub(data,1,5+strlen(Bot))=="$To: "..Bot) then
data=strsub(data,1,strlen(data)-1)
s,e,cmd = strfind(data,"%b<>%s+(%S+)")

                     if (cmd=="+votehelp") then
local msg = ""
if (user.iProfile == 0) then
msg = msg.."Skipanir K?nnunar scriptsins:\r\n"
msg = msg.."\r\n"
msg = msg.."+createvote \tB?r til k?nnun (nr = n?mer sem ?? gefur k?nnuninni) (spurning = Spurning k?nnunarinnar)\r\n"
msg = msg.."+stopvote \t\t\tLokar k?nnun \r\n"
msg = msg.."+showvote \tS?nir ?tkomu konnunar (old = gamlar kannanir) e?a (new = Kannanir sem eru ? gangi)\r\n"
msg = msg.."+svmain \t\tS?nir st??u k?nnunar ? main (old = gamlar kannanir) e?a (new = Kannanir sem eru ? gangi)\r\n"
msg = msg.."+votelist\t\t\t\tS?nir allar gamlar kannanir\r\n"
msg = msg.."+votefor\t\t\t\tS?nir hva?a kannanir eru ? gangi sem ?? getur greitt atkv??i ?\r\n"
msg = msg.."+vote \t\t\tTil a? kj?sa (nr = n?mer k?nnunar)(y = j?) e?a (n = nei)\r\n"
msg = msg.."+delvote \t\t\tEy?ir loka?ri k?nnun (nr = n?mer k?nnunar)\r\n"
msg = msg.."\r\n"
user:SendPM(Bot, msg)
else
msg = msg.."Skipanir K?nnunar scriptsins:\r\n"
msg = msg.."\r\n"
msg = msg.."+votefor\t\t\tS?nir hva?a kannanir eru ? gangi sem ?? getur greitt atkv??i ?\r\n"
msg = msg.."+vote \t\tTil a? kj?sa (nr = n?mer k?nnunar)(y = j?) e?a (n = nei)\r\n"
msg = msg.."\r\n"
user:SendPM(Bot, msg)
end
return 1
elseif (cmd=="+createvote") then
if (user.iProfile == 0) then
local s,e,number,question = strfind(data,"%b<>%s+%S+%s+(%S+)%s+(.*)")
if (tonumber(number) == nil) then
user:SendPM(Bot, "Villa, +createvote , nr ver?ur a? vera tala.")
else
number = tonumber(number)
if (question == nil or question == "") then
user:SendPM(Bot, "Villa, +createvote , ?? ver?ur a? hafa spurningu.")
else
if (CreatePoll(user, number, question) == 1) then
user:SendPM(Bot, "Kosningarse?ill hefur veri? b?inn til.")
else
user:SendPM(Bot, "kosningase?ill nr: "..number.. "var til, ekki er h?gt a? nota sama n?mer")
end
end
end
else
user:SendPM(Bot, "?? hefur ekki leyfi til a? nota ?essa skipun.")
end
return 1
elseif (cmd=="+stopvote") then
if (user.iProfile == 0) then
local s,e,number = strfind(data,"%b<>%s+%S+%s+(.*)")
if (tonumber(number) == nil or number == "") then
user:SendPM(Bot, "Villa, +stopvote , nr ver?ur a? vera tala.")
else
number = tonumber(number)
if (OldPoll(user, number) == 1) then
user:SendPM(Bot, "K?nnuninni hefur veri? loka? og vista? ? Old Polls.")
else
user:SendPM(Bot, "?a? er engin k?nnun til me? n?merinu "..number..".")
end
end
else
user:SendPM(Bot, "?? hefur ekki leyfi til a? nota ?essa skipun.")
end
return 1
elseif (cmd=="+showvote") then
if (user.iProfile == 0) then
local s,e,number, opt = strfind(data,"%b<>%s+%S+%s+(%S+)%s+(%S+)")
if (tonumber(number) == nil) then
user:SendPM(Bot, "Villa, +showvote , nr ver?ur a? vera tala.")
else
number = tonumber(number)
if (opt == "old") then
if (CheckPoll(user, number, oldpolls) == "") then
user:SendPM(Bot, "?a? er enginn k?nnun til me? n?merinu "..number..".")
else
user:SendPM(Bot, CheckPoll(user, number, oldpolls))
end
elseif(opt == "new") then
if (CheckPoll(user, number, votetext) == "") then
user:SendPM(Bot, "?a? er enginn k?nnun til me? n?merinu "..number..".")
else
user:SendPM(Bot, CheckPoll(user, number, votetext))
end
else
user:SendPM(Bot, "Villa, +showvote ,ver?ur a? vera (old = loku? eldri k?nnun) e?a (new = k?nnun sem ekki er b?i? a? loka)")
end
end
else
user:SendPM(Bot, "?? hefur ekki leyfi til a? nota ?essa skipun")
end
return 1
elseif (cmd=="+svmain") then
if (user.iProfile == 0) then
local s,e,number, opt = strfind(data,"%b<>%s+%S+%s+(%S+)%s+(%S+)")
if (tonumber(number) == nil) then
user:SendPM(Bot, "Villa, +svmain , nr ver?ur a? vera tala.")
else
number = tonumber(number)
if (opt == "old") then
if (CheckPoll(user, number, oldpolls) == "") then
user:SendPM(Bot, "?a? er enginn kosningase?ill til me? n?merinu "..number..".")
else
SendToAll(Bot, CheckPoll(user, number, oldpolls))
end
elseif(opt == "new") then
if (CheckPoll(user, number, votetext) == "") then
user:SendPM(Bot, "?a? er engin k?nnun til me? n?merinu "..number..".")
else
SendToAll(Bot, CheckPoll(user, number, votetext))
end
else
user:SendPM(Bot, "Villa, +svmain , ver?ur a? vera (old = loku? eldri k?nnun) e?a (new = k?nnun sem ekki er b?i? a? loka)")
end
end
else
user:SendPM(Bot, "?? hefur ekki leyfi til a? nota ?essa skipun")
end
return 1
elseif (cmd=="+votelist") then
if (user.iProfile == 0) then
(readfrom(oldpolls) == nil or ReadPoll(user, oldpolls) == "") then
user:SendPM(Bot, "?a? eru engar kannanir b?nar")
else
user:SendPM(Bot, ReadPoll(user, oldpolls))
end
else
user:SendPM(Bot, "?? hefur ekki leyfi til a? nota ?essa skipun")
end
return 1
elseif (cmd=="+votefor") then
if (readfrom(votetext) == nil or ReadPoll(user, votetext) == "") then
user:SendPM(Bot, "?a? er engin k?nnun ? gangi")
else
user:SendPM(Bot, ReadPoll(user, votetext))
end
return 1
elseif (cmd=="+vote") then
local s,e,number,opt = strfind(data,"%b<>%s+%S+%s+(%S+)%s+(%S+)")
if (tonumber(number) == nil) then
user:SendPM(Bot, "Villa, +vote , nr ver?ur a? vera tala.")
else
number = tonumber(number)
if (opt == nil or opt == "" or opt ~= "n" and opt ~= "y") then
user:SendPM(Bot, "Villa, +vote , ver?ur a? skrifa (y = J?) e?a (n = nei).")
else
if (Vote(user, number, opt) == 1) then
user:SendPM(Bot, "atkv??i ?itt hefur veri? skr??")
vt[user.sName] = 1
nr[user.sName] = number
elseif(Vote(user, number, opt) == 2) then
user:SendPM(Bot, "?? varst b?inn a? kj?sa ? ?essari k?nnun")
else
user:SendPM(Bot, "?a? er engin k?nnun til me? n?merinu "..number..".")
end
end
end
return 1
elseif (cmd=="+delvote") then
if (user.iProfile == 0) then
local s,e,number = strfind(data,"%b<>%s+%S+%s+(%S+)")
if (tonumber(number) == nil) then
user:SendPM(Bot, "Villa, +delvote , nr ver?ur a? vera tala.")
else
number = tonumber(number)
if (DelOldPoll(user, number) == 0) then
user:SendPM(Bot, "?a? er enginn g?mul k?nnun me? n?merinu "..number)
else
user:SendPM(Bot, "G?mlu k?nnuninni hefur veri? eytt")
end
end
else
user:SendPM(Bot, "?? hefur ekki leyfi til a? nota ?essa skipun.")
end
return 1
end
end
end

function CreatePoll(user, number, question)
local tmp = ""
local time = 0

   readfrom(oldpolls)
   while 1 do
      local line = read()
      if (line == nil) then
break
else
local s,e,num = strfind(line,"Nr:%s+(%S+)%s+")
if (tonumber(num) ~= nil and tonumber(num) == number) then
time = 2
else
end
end
end
readfrom()

readfrom(votetext)
while 1 do
 local line = read()
if (line == nil) then
if (time == 2) then
break
else
tmp = tmp.."Nr: "..number.." "..question.." Yes: 0 No: 0 Active: Yes\r\n"
 time = 1
break
end
else
local s,e,num = strfind(line,"Nr:%s+(%S+)%s+")
if (tonumber(num) ~= nil and tonumber(num) == number) then
tmp = tmp..line.."\r\n"
time = 2
else
tmp = tmp..line.."\r\n"
end
end
end
readfrom()
writeto(votetext)
write(tmp)
writeto()
return time
end

function OldPoll(user, number)
local tmp = ""
local tmp2 = ""
local time = 0
readfrom(votetext)
while 1 do
local line = read()
if (line == nil) then
break
else
local s,e, num, question, ny, nn = strfind(line,"Nr:%s+(%S+)%s+(.*)Yes:%s+(%S+)%s+No:%s+(%S+)%s+Active:")
if (tonumber(num) ~= nil and tonumber(num) == number) then
tmp2 = tmp2.."Nr: "..number.." "..question.." Yes: "..ny.." No: "..nn.." Active: No\r\n"
time = 1
else
tmp = tmp..line.."\r\n"
end
end
end
readfrom()
writeto(votetext)
write(tmp)
writeto()
if (time == 0) then
else
appendto(oldpolls)
write(tmp2)
writeto()
end
return time
end

function CheckPoll(user, number, file)
local tmp = ""
   readfrom(file)
   while 1 do
      local line = read()
      if (line == nil) then
      break
      else
local s,e, num, question, ny, nn = strfind(line,"Nr:%s+(%S+)%s+(.*)Yes:%s+(%S+)%s+No:%s+(%S+)%s+Active:")
    if (tonumber(num) ~= nil and tonumber(num) == number) then
    tmp = tmp.. " \r\n"
    tmp = tmp.."\r\n<>===================>> K?nnun <<===================<>\r\n"
    tmp = tmp.."       K?nnun Nr: "..num.."\r\n"
    tmp = tmp.."       Spurningin: "..question.."\r\n"
    tmp = tmp.."<>=================================================<>\r\n"
    tmp = tmp.. " \r\n"
    tmp = tmp.. "\t\t\t  J? svara: "..ny.."\r\n"
    tmp = tmp.. "\t\t\tNei svara: "..nn.."\r\n"
    tmp = tmp.. " \r\n"
    tmp = tmp.."<> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -<> \r\n"
 if (tonumber(ny) > tonumber(nn)) then
    tmp = tmp.."\t\t\t J? er a? vinna.\r\n"
    tmp = tmp.."<>=================================================<>\r\n"
 elseif (tonumber(ny) < tonumber(nn)) then
tmp = tmp.."\t\t\tNei er a? vinna.\r\n"
tmp = tmp.."<>=================================================<>\r\n"
 elseif (tonumber(ny) == tonumber(nn)) then
tmp = tmp.."\t\t\t?a? er jafnt.\r\n"
tmp = tmp.."<>=================================================<>\r\n"
     
end
break
else
end
end
end
readfrom()
return tmp
end

function ReadPoll(user, file)
local tmp = ""
readfrom(file)
while 1 do
local line = read()
if (line == nil or line == "") then
break
else
local s,e, num, question, ny, nn = strfind(line,"Nr:%s+(%S+)%s+(.*)Yes:%s+(%S+)%s+No:%s+(%S+)%s+Active:")
    if (num == nil) then
    else
    tmp = tmp.."\r\n<>===================>> K?nnun <<===================<>\r\n"
    tmp = tmp.."       K?nnun Nr: "..num.."\r\n"
    tmp = tmp.."       Spurningin: "..question.."\r\n"
    tmp = tmp.."<>=================================================<>\r\n"
    tmp = tmp.. " \r\n"
    tmp = tmp.. "\t\t\t  J? sv?ru?u: "..ny.."\r\n"
    tmp = tmp.. "\t\t\tNei sv?ru?u: "..nn.."\r\n"
    tmp = tmp.. " \r\n"
    tmp = tmp.."<>=================================================<>\r\n"
(file == oldpolls) then
tmp = tmp.."G?mul k?nnun, ekki h?gt a? kj?sa\r\n"
elseif (file == votetext) then
tmp = tmp.."      Ger?u +vote t.d. <+vote 1 y>"
end        
end
end
end
readfrom()
return tmp
end

function Vote(user, number, opt)
local tmp = ""
local time = 0
if (vt[user.sName] == 1 and nr[user.sName] == number) then
   time = 2
else
   readfrom(votetext)
   while 1 do
      local line = read()
      if (line == nil) then
      break
      else
local s,e, num, question, ny, nn = strfind(line,"Nr:%s+(%S+)%s+(.*)Yes:%s+(%S+)%s+No:%s+(%S+)%s+Active:")
if (tonumber(num) ~= nil and tonumber(num) == number) then
 if (opt == "y") then
ny = tonumber(ny) + 1
elseif (opt == "n") then
nn = tonumber(nn) + 1
end
tmp = tmp.."Nr: "..number.." "..question.."Yes: "..ny.." No: "..nn.." Active: Yes\r\n"
time = 1
else
tmp = tmp..line.."\r\n"
end
end
end
readfrom()
writeto(votetext)
write(tmp)
writeto()
end
return time
end

function DelOldPoll(user, number)
local tmp = ""
local time = 0
   readfrom(oldpolls)
   while 1 do
      local line = read()
      if (line == nil) then
      break
      else
local s,e, num, question, ny, nn = strfind(line,"Nr:%s+(%S+)%s+(.*)Yes:%s+(%S+)%s+No:%s+(%S+)%s+Active:")
if (tonumber(num) ~= nil and tonumber(num) == number) then
time = 1
else
tmp = tmp..line.."\r\n"
end
end
end
readfrom()
writeto(oldpolls)
write(tmp)
writeto()
return time
end
Title:
Post by: (=CyberPimp=) on 21 April, 2004, 17:14:45
[15:10:30] <(=K?nnun=)>
- <>===================>> K?nnun <<===================<>
       K?nnun Nr: 2
       Spurningin: ? a? h?kka min shere ? 50GB
- <>=================================================<>
 
           J? sv?ru?u: 12
         Nei sv?ru?u: 18
 
- <>=================================================<>
      Ger?u +vote t.d. <+vote 1 y>


I like this look :o)........don?t know about you
Title:
Post by: (=CyberPimp=) on 21 April, 2004, 17:24:03
argg  X( .... did not come out right, center the q and nr and y and n, thats how it looks....... hehe
Title: How's work on my additional ideas?
Post by: Skyhawk on 23 April, 2004, 11:41:21
Hi there  didn't you say you would add this logging feature i proposed toi your voting bot?


I really need it and fast... :-)


Thx for your efforts
Title:
Post by: nErBoS on 23 April, 2004, 23:29:01
Hi,

I have been had lot of work and some achool problems :P. I will try to catch up tomorrow.

Best regards, nErBoS
Title: thx
Post by: Skyhawk on 24 April, 2004, 11:32:43
you're the man
Title:
Post by: nErBoS on 25 April, 2004, 19:47:35
Hi,

Made a tiny vote poll HERE (http://board.univ-angers.fr/thread.php?threadid=1855&boardid=11&styleid=1&sid=de4f87dbba9b6f332c8581096ec4a7f3)  i will start to updated this one with some functions i made on that one.

Best regards, nErBoS
Title:
Post by: Skyhawk on 25 April, 2004, 20:22:05
???


I don't understand.  This bot here is great. I just want you to add a verification to check if a user has already voted.  The nick/voteinfo should be saved in a 3rd file.

DON'T ABANDON THIS BOT  it's too good to abandon it.


Please just update it!
Title:
Post by: nErBoS on 25 April, 2004, 23:11:21
Hi,

I didn?t said that, i said i was going to update this BOT with somethings that i made to the other.

Best regards, nErBoS
Title:
Post by: nErBoS on 27 April, 2004, 02:14:53
Hi,

I have made a complety re-write to this Bot, check it HERE (http://board.univ-angers.fr/thread.php?threadid=1606&boardid=12&styleid=1&sid=fbdcd70292228ada8576ff2c845f5ca1)

Best regards, nErBoS