Zeile 956: |
Zeile 956: |
| <pre> | | <pre> |
| --Vote Poll v1.0 | | --Vote Poll v1.0 |
− |
| |
− |
| |
− |
| |
| --Made by nErBoS | | --Made by nErBoS |
− |
| |
| --Converted to Lua 5 by jiten | | --Converted to Lua 5 by jiten |
− |
| |
| --Changed Visual Design / Translated to german / Added Rightclick by pulsar | | --Changed Visual Design / Translated to german / Added Rightclick by pulsar |
− |
| |
− |
| |
| | | |
| Bot = "Vote Poll" | | Bot = "Vote Poll" |
− |
| |
− |
| |
| | | |
| vt = {} | | vt = {} |
− |
| |
| nr = {} | | nr = {} |
− |
| |
− |
| |
| | | |
| votetext = "voting.txt" | | votetext = "voting.txt" |
− |
| |
| oldpolls = "voting-old.txt" | | oldpolls = "voting-old.txt" |
| | | |
− | | + | function Main() |
− | | + | frmHub:RegBot(Bot) |
− | function Main() | |
− | | |
− | frmHub:RegBot(Bot) | |
− | | |
| end | | end |
− |
| |
− |
| |
| | | |
| function NewUserConnected(user, data) | | function NewUserConnected(user, data) |
− |
| |
| if (vt[user.sName] == nil) then | | if (vt[user.sName] == nil) then |
| + | vt[user.sName] = 0 |
| + | end |
| + | if (nr[user.sName] == nil) then |
| + | nr[user.sName] = 0 |
| + | end |
| | | |
− | vt[user.sName] = 0
| + | end |
− | | |
− | end
| |
− | | |
− | if (nr[user.sName] == nil) then
| |
− | | |
− | nr[user.sName] = 0
| |
− | | |
− | end
| |
− | | |
− | end
| |
− | | |
− | | |
| | | |
| function NewUserConnected(user,data) | | function NewUserConnected(user,data) |
− |
| |
| UserCmds(user) | | UserCmds(user) |
− |
| |
| if user.bOperator then | | if user.bOperator then |
− |
| |
| OpCmds(user) | | OpCmds(user) |
− |
| |
− |
| |
− |
| |
| end | | end |
− |
| |
| end | | end |
− |
| |
− |
| |
| | | |
| OpConnected = NewUserConnected | | OpConnected = NewUserConnected |
− |
| |
− |
| |
− |
| |
| rcmenue = "Voting" | | rcmenue = "Voting" |
− |
| |
− |
| |
| | | |
| function UserCmds(user) -- User Befehle | | function UserCmds(user) -- User Befehle |
− | | + | user:SendData("$UserCommand 1 3 "..rcmenue.."\\Zeige aktuelle Umfragen$<%[mynick]> +votefor||") |
− | | |
− | | |
− | user:SendData("$UserCommand 1 3 "..rcmenue.."\\Zeige aktuelle Umfragen$<%[mynick]> +votefor||")
| |
− | | |
| user:SendData("$UserCommand 1 3 "..rcmenue.."\\Zeige beendete Umfragen$<%[mynick]> +votelist||") | | user:SendData("$UserCommand 1 3 "..rcmenue.."\\Zeige beendete Umfragen$<%[mynick]> +votelist||") |
− |
| |
| user:SendData("$UserCommand 0 3 |") -- separator | | user:SendData("$UserCommand 0 3 |") -- separator |
− |
| |
| user:SendData("$UserCommand 1 3 "..rcmenue.."\\Bei einer aktuellen Umfrage abstimmen$<%[mynick]> +vote %[line:Welche Zuordnungsnummer?] %[line:y / n ? (Yes or No)]||") | | user:SendData("$UserCommand 1 3 "..rcmenue.."\\Bei einer aktuellen Umfrage abstimmen$<%[mynick]> +vote %[line:Welche Zuordnungsnummer?] %[line:y / n ? (Yes or No)]||") |
− |
| |
| user:SendData("$UserCommand 0 3 |") -- separator | | user:SendData("$UserCommand 0 3 |") -- separator |
− |
| |
| user:SendData("$UserCommand 1 3 "..rcmenue.."\\Abstimmungsergebnisse\\PM\\aktuelle Umfragen$<%[mynick]> +showvote %[line:Welche Zuordnungsnummer?] new||") | | user:SendData("$UserCommand 1 3 "..rcmenue.."\\Abstimmungsergebnisse\\PM\\aktuelle Umfragen$<%[mynick]> +showvote %[line:Welche Zuordnungsnummer?] new||") |
− | | + | user:SendData("$UserCommand 1 3 "..rcmenue.."\\Abstimmungsergebnisse\\PM\\beendete Umfragen$<%[mynick]> +showvote %[line:Welche Zuordnungsnummer?] old||") |
− | user:SendData("$UserCommand 1 3 "..rcmenue.."\\Abstimmungsergebnisse\\PM\\beendete Umfragen$<%[mynick]> +showvote %[line:Welche Zuordnungsnummer?] old||")
| |
− | | |
| user:SendData("$UserCommand 1 3 "..rcmenue.."\\Abstimmungsergebnisse\\Main\\aktuelle Umfragen$<%[mynick]> +svmain %[line:Welche Zuordnungsnummer?] new||") | | user:SendData("$UserCommand 1 3 "..rcmenue.."\\Abstimmungsergebnisse\\Main\\aktuelle Umfragen$<%[mynick]> +svmain %[line:Welche Zuordnungsnummer?] new||") |
− |
| |
| user:SendData("$UserCommand 1 3 "..rcmenue.."\\Abstimmungsergebnisse\\Main\\beendete Umfragen$<%[mynick]> +svmain %[line:Welche Zuordnungsnummer?] old||") | | user:SendData("$UserCommand 1 3 "..rcmenue.."\\Abstimmungsergebnisse\\Main\\beendete Umfragen$<%[mynick]> +svmain %[line:Welche Zuordnungsnummer?] old||") |
− |
| |
| end | | end |
− |
| |
− |
| |
− |
| |
| function OpCmds(user) -- OP Befehle | | function OpCmds(user) -- OP Befehle |
− |
| |
| -- leer | | -- leer |
− |
| |
− |
| |
− |
| |
| if (user.iProfile == 0) then -- Master Befehle | | if (user.iProfile == 0) then -- Master Befehle |
− |
| |
| user:SendData("$UserCommand 1 3 "..rcmenue.."\\Admin\\Umfrage erstellen$<%[mynick]> +createvote %[line:Welche Zuordnungsnummer?] %[line:Welche Umfrage?]||") | | user:SendData("$UserCommand 1 3 "..rcmenue.."\\Admin\\Umfrage erstellen$<%[mynick]> +createvote %[line:Welche Zuordnungsnummer?] %[line:Welche Umfrage?]||") |
− |
| |
| user:SendData("$UserCommand 1 3 "..rcmenue.."\\Admin\\Umfrage beenden$<%[mynick]> +stopvote %[line:Welche Zuordnungsnummer?]||") | | user:SendData("$UserCommand 1 3 "..rcmenue.."\\Admin\\Umfrage beenden$<%[mynick]> +stopvote %[line:Welche Zuordnungsnummer?]||") |
− |
| |
| user:SendData("$UserCommand 1 3 "..rcmenue.."\\Admin\\Umfrage löschen$<%[mynick]> +delvote %[line:Welche Zuordnungsnummer?]||") | | user:SendData("$UserCommand 1 3 "..rcmenue.."\\Admin\\Umfrage löschen$<%[mynick]> +delvote %[line:Welche Zuordnungsnummer?]||") |
− |
| |
| end | | end |
− |
| |
| end | | end |
| | | |
− | | + | function ChatArrival(user, data) |
− | | + | data=string.sub(data,1,string.len(data)-1) |
− | function ChatArrival(user, data) | + | s,e,cmd = string.find(data,"%b<>%s+(%S+)") |
− | | + | if (cmd=="+votehelp") then |
− | data=string.sub(data,1,string.len(data)-1) | + | local msg = "" |
− | | + | if (user.iProfile == 0) then |
− | s,e,cmd = string.find(data,"%b<>%s+(%S+)") | + | msg = msg.."Befehle für das Voting:\r\n" |
− | | + | msg = msg.."\r\n" |
− | if (cmd=="+votehelp") then | + | msg = msg.."+createvote <nr> <q>\tErstellt eine Umfrage (nr = Zuordnungsnummer für die Umfrage) (q = Umfrage)\r\n" |
− | | + | msg = msg.."+stopvote <nr>\t\tBeendet die Umfrage\r\n" |
− | local msg = "" | + | msg = msg.."+showvote <nr> <old/new>\tZeigt die Abstimmungsergebnisse der Umfrage (old = alte Umfragen) oder (new = Umfragen die noch nicht beendet worden sind)\r\n" |
− | | + | msg = msg.."+svmain <nr> <old/new>\tZeigt die Abstimmungsergebnisse im Main (old = alte Umfragen) oder (new = Umfragen die noch nicht beendet worden sind)\r\n" |
− | if (user.iProfile == 0) then | + | msg = msg.."+votelist\t\t\tZeigt alle Umfragen\r\n" |
− | | + | msg = msg.."+votefor\t\t\tZeigt die Umfragen bei denen du abstimmen kannst\r\n" |
− | msg = msg.."Befehle für das Voting:\r\n" | + | msg = msg.."+vote <nr> <y/n>\t\tUm bei einer Umfrage abzustimmen (y = ja) (n = nein) (nr = Nummer der Umfrage)\r\n" |
− | | + | msg = msg.."+delvote <nr>\t\tUm alte Umfragen zu löschen (nr = Nummer der zu löschenden Umfrage)\r\n" |
− | msg = msg.."\r\n" | + | msg = msg.."\r\n" |
− | | + | user:SendPM(Bot, msg) |
− | msg = msg.."+createvote <nr> <q>\tErstellt eine Umfrage (nr = Zuordnungsnummer für die Umfrage) (q = Umfrage)\r\n" | |
− | | |
− | msg = msg.."+stopvote <nr>\t\tBeendet die Umfrage\r\n" | |
− | | |
− | msg = msg.."+showvote <nr> <old/new>\tZeigt die Abstimmungsergebnisse der Umfrage (old = alte Umfragen) oder (new = Umfragen die noch nicht beendet worden sind)\r\n" | |
− | | |
− | msg = msg.."+svmain <nr> <old/new>\tZeigt die Abstimmungsergebnisse im Main (old = alte Umfragen) oder (new = Umfragen die noch nicht beendet worden sind)\r\n" | |
− | | |
− | msg = msg.."+votelist\t\t\tZeigt alle Umfragen\r\n" | |
− | | |
− | msg = msg.."+votefor\t\t\tZeigt die Umfragen bei denen du abstimmen kannst\r\n" | |
− | | |
− | msg = msg.."+vote <nr> <y/n>\t\tUm bei einer Umfrage abzustimmen (y = ja) (n = nein) (nr = Nummer der Umfrage)\r\n" | |
− | | |
− | msg = msg.."+delvote <nr>\t\tUm alte Umfragen zu löschen (nr = Nummer der zu löschenden Umfrage)\r\n" | |
− | | |
− | msg = msg.."\r\n" | |
− | | |
− | user:SendPM(Bot, msg) | |
− | | |
| else | | else |
− | | + | msg = msg.."Befehle für das Voting:\r\n" |
− | msg = msg.."Befehle für das Voting:\r\n" | + | msg = msg.."\r\n" |
− | | |
− | msg = msg.."\r\n" | |
− | | |
| msg = msg.."+votefor\t\t\tZeigt die Umfragen bei denen du abstimmen kannst\r\n" | | msg = msg.."+votefor\t\t\tZeigt die Umfragen bei denen du abstimmen kannst\r\n" |
− | | + | msg = msg.."+vote <nr> <y/n>\t\tUm bei einer Umfrage abzustimmen (y = ja) (n = nein) (nr = Nummer der Umfrage)\r\n" |
− | msg = msg.."+vote <nr> <y/n>\t\tUm bei einer Umfrage abzustimmen (y = ja) (n = nein) (nr = Nummer der Umfrage)\r\n" | + | msg = msg.."\r\n" |
− | | + | user:SendPM(Bot, msg) |
− | msg = msg.."\r\n" | |
− | | |
− | user:SendPM(Bot, msg) | |
− | | |
| end | | end |
− | | + | return 1 |
− | return 1 | + | elseif (cmd=="+createvote") then |
− | | + | if (user.iProfile == 0) then |
− | elseif (cmd=="+createvote") then | + | local s,e,number,question = string.find(data,"%b<>%s+%S+%s+(%S+)%s+(.*)") |
− | | + | if (tonumber(number) == nil) then |
− | if (user.iProfile == 0) then | + | user:SendPM(Bot, "Syntax error, +createvote <nr> <q>, nr muss eine Nummer sein!") |
− | | + | else |
− | local s,e,number,question = string.find(data,"%b<>%s+%S+%s+(%S+)%s+(.*)") | + | number = tonumber(number) |
− | | + | if (question == nil or question == "") then |
− | if (tonumber(number) == nil) then | + | user:SendPM(Bot, "Syntax error, +createvote <nr> <q>, du musst schon auch ne Frage erstellen worüber abgestimmt werden soll!") |
− | | + | else |
− | user:SendPM(Bot, "Syntax error, +createvote <nr> <q>, nr muss eine Nummer sein!") | + | if (CreatePoll(user, number, question) == 1) then |
− | | |
− | else | |
− | | |
− | number = tonumber(number) | |
− | | |
− | if (question == nil or question == "") then
| |
− | | |
− | user:SendPM(Bot, "Syntax error, +createvote <nr> <q>, du musst schon auch ne Frage erstellen worüber abgestimmt werden soll!") | |
− | | |
− | else | |
− | | |
− | if (CreatePoll(user, number, question) == 1) then
| |
− | | |
| user:SendPM(Bot, "Die Abstimmung bzw. Umfrage wurde erstellt.") | | user:SendPM(Bot, "Die Abstimmung bzw. Umfrage wurde erstellt.") |
− | | + | else |
− | else | + | user:SendPM(Bot, "Es existiert bereits eine Abstimmung bzw. Umfrage mit der Nummer "..number..".") |
− | | + | end |
− | user:SendPM(Bot, "Es existiert bereits eine Abstimmung bzw. Umfrage mit der Nummer "..number..".") | + | end |
− | | + | end |
− | end | + | else |
− | | + | user:SendPM(Bot, "Du hast keine Befugnis diesen Befehl zu nutzen!") |
− | end | + | end |
− | | + | return 1 |
− | end | + | elseif (cmd=="+stopvote") then |
− | | + | if (user.iProfile == 0) then |
− | else | + | local s,e,number = string.find(data,"%b<>%s+%S+%s+(.*)") |
− | | + | if (tonumber(number) == nil or number == "") then |
− | user:SendPM(Bot, "Du hast keine Befugnis diesen Befehl zu nutzen!") | + | user:SendPM(Bot, "Syntax error, +stopvote <nr>, nr muss eine Nummer sein!") |
− | | + | else |
− | end | + | number = tonumber(number) |
− | | + | if (OldPoll(user, number) == 1) then |
− | return 1 | + | user:SendPM(Bot, "Die Abstimmung bzw. Umfrage wurde beendet und gespeichert in der "..oldpolls..".") |
− | | |
− | elseif (cmd=="+stopvote") then | |
− | | |
− | if (user.iProfile == 0) then | |
− | | |
− | local s,e,number = string.find(data,"%b<>%s+%S+%s+(.*)") | |
− | | |
− | if (tonumber(number) == nil or number == "") then | |
− | | |
− | user:SendPM(Bot, "Syntax error, +stopvote <nr>, nr muss eine Nummer sein!") | |
− | | |
| else | | else |
− | | + | user:SendPM(Bot, "Es gibt keine Abstimmung bzw. Umfrage mit der Nummer "..number..".") |
− | number = tonumber(number)
| + | end |
− | | + | end |
− | if (OldPoll(user, number) == 1) then
| + | else |
− | | + | user:SendPM(Bot, "Du hast keine Befugnis diesen Befehl zu nutzen!") |
− | user:SendPM(Bot, "Die Abstimmung bzw. Umfrage wurde beendet und gespeichert in der "..oldpolls..".")
| + | end |
− | | + | return 1 |
− | else
| + | elseif (cmd=="+showvote") then |
− | | + | if (user.iProfile == 0) then |
− | user:SendPM(Bot, "Es gibt keine Abstimmung bzw. Umfrage mit der Nummer "..number..".") | + | local s,e,number, opt = string.find(data,"%b<>%s+%S+%s+(%S+)%s+(%S+)") |
− | | + | if (tonumber(number) == nil) then |
− | end | + | user:SendPM(Bot, "Syntax error, +showvote <nr> <old/new>, nr muss eine Nummer sein!") |
− | | + | else |
− | end | + | number = tonumber(number) |
− | | + | if (opt == "old") then |
− | else | + | if (CheckPoll(user, number, oldpolls) == "") then |
− | | + | user:SendPM(Bot, "Es gibt keine beendete Umfrage mit der Nummer "..number..".") |
− | user:SendPM(Bot, "Du hast keine Befugnis diesen Befehl zu nutzen!") | + | else |
− | | + | user:SendPM(Bot, CheckPoll(user, number, oldpolls)) |
− | end | + | end |
− | | + | elseif(opt == "new") then |
− | return 1 | + | if (CheckPoll(user, number, votetext) == "") then |
− | | + | user:SendPM(Bot, "Es gibt keine Umfrage mit der Nummer "..number..".") |
− | elseif (cmd=="+showvote") then | + | else |
− | | |
− | if (user.iProfile == 0) then | |
− | | |
− | local s,e,number, opt = string.find(data,"%b<>%s+%S+%s+(%S+)%s+(%S+)") | |
− | | |
− | if (tonumber(number) == nil) then | |
− | | |
− | user:SendPM(Bot, "Syntax error, +showvote <nr> <old/new>, nr muss eine Nummer sein!") | |
− | | |
− | else | |
− | | |
− | number = tonumber(number) | |
− | | |
− | if (opt == "old") then | |
− | | |
− | if (CheckPoll(user, number, oldpolls) == "") then | |
− | | |
− | user:SendPM(Bot, "Es gibt keine beendete Umfrage mit der Nummer "..number..".") | |
− | | |
− | else | |
− | | |
− | user:SendPM(Bot, CheckPoll(user, number, oldpolls)) | |
− | | |
− | end | |
− | | |
− | elseif(opt == "new") then | |
− | | |
− | if (CheckPoll(user, number, votetext) == "") then | |
− | | |
− | user:SendPM(Bot, "Es gibt keine Umfrage mit der Nummer "..number..".") | |
− | | |
− | else | |
− | | |
| user:SendPM(Bot, CheckPoll(user, number, votetext)) | | user:SendPM(Bot, CheckPoll(user, number, votetext)) |
− | | + | end |
− | end | + | else |
− | | + | user:SendPM(Bot, "Syntax error, +showvote <nr> <old/new>, muss sein (old = alte Umfragen) oder (new = Umfragen die noch nicht beendet worden sind)") |
− | else | + | end |
− | | + | end |
− | user:SendPM(Bot, "Syntax error, +showvote <nr> <old/new>, muss sein (old = alte Umfragen) oder (new = Umfragen die noch nicht beendet worden sind)") | + | else |
− | | + | user:SendPM(Bot, "Du hast keine Befugnis diesen Befehl zu nutzen!") |
− | end | + | end |
− | | |
− | end | |
− | | |
− | else | |
− | | |
− | user:SendPM(Bot, "Du hast keine Befugnis diesen Befehl zu nutzen!") | |
− | | |
− | end | |
− | | |
| return 1 | | return 1 |
− | | + | elseif (cmd=="+svmain") then |
− | elseif (cmd=="+svmain") then | + | if (user.iProfile == 0) then |
− | | + | local s,e,number, opt = string.find(data,"%b<>%s+%S+%s+(%S+)%s+(%S+)") |
− | if (user.iProfile == 0) then | + | if (tonumber(number) == nil) then |
− | | |
− | local s,e,number, opt = string.find(data,"%b<>%s+%S+%s+(%S+)%s+(%S+)") | |
− | | |
− | if (tonumber(number) == nil) then | |
− | | |
| user:SendPM(Bot, "Syntax error, +svmain <nr> <old/new>, nr muss eine Nummer sein!") | | user:SendPM(Bot, "Syntax error, +svmain <nr> <old/new>, nr muss eine Nummer sein!") |
| + | else |
| + | number = tonumber(number) |
| + | if (opt == "old") then |
| + | if (CheckPoll(user, number, oldpolls) == "") then |
| + | user:SendPM(Bot, "Es gibt keine beendete Umfrage mit der Nummer "..number..".") |
| + | else |
| + | SendToAll(Bot, CheckPoll(user, number, oldpolls)) |
| + | end |
| + | elseif(opt == "new") then |
| + | if (CheckPoll(user, number, votetext) == "") then |
| + | user:SendPM(Bot, "Es gibt keine Umfrage mit der Nummer "..number..".") |
| | | |
− | else
| + | else |
− | | + | SendToAll(Bot, CheckPoll(user, number, votetext)) |
− | number = tonumber(number)
| + | end |
− | | + | else |
− | if (opt == "old") then
| + | user:SendPM(Bot, "Syntax error, +svmain <nr> <old/new>, muss sein (old = alte Umfragen) oder (new = Umfragen die noch nicht beendet worden sind)") |
− | | + | end |
− | if (CheckPoll(user, number, oldpolls) == "") then
| + | end |
− | | + | else |
− | user:SendPM(Bot, "Es gibt keine beendete Umfrage mit der Nummer "..number..".")
| + | user:SendPM(Bot, "Du hast keine Befugnis diesen Befehl zu nutzen!") |
− | | + | end |
− | else
| + | return 1 |
− | | + | elseif (cmd=="+votelist") then |
− | SendToAll(Bot, CheckPoll(user, number, oldpolls))
| + | if (user.iProfile == 0) then |
− | | |
− | end
| |
− | | |
− | elseif(opt == "new") then
| |
− | | |
− | if (CheckPoll(user, number, votetext) == "") then
| |
− | | |
− | user:SendPM(Bot, "Es gibt keine Umfrage mit der Nummer "..number..".")
| |
− | | |
− | else
| |
− | | |
− | SendToAll(Bot, CheckPoll(user, number, votetext)) | |
− | | |
− | end | |
− | | |
− | else | |
− | | |
− | user:SendPM(Bot, "Syntax error, +svmain <nr> <old/new>, muss sein (old = alte Umfragen) oder (new = Umfragen die noch nicht beendet worden sind)") | |
− | | |
− | end | |
− | | |
− | end | |
− | | |
− | else | |
− | | |
− | user:SendPM(Bot, "Du hast keine Befugnis diesen Befehl zu nutzen!") | |
− | | |
− | end | |
− | | |
− | return 1 | |
− | | |
− | elseif (cmd=="+votelist") then | |
− | | |
− | if (user.iProfile == 0) then | |
− | | |
| local l = io.open(oldpolls, "r") | | local l = io.open(oldpolls, "r") |
− | | + | if (ReadPoll(user, oldpolls) == "") then |
− | if (ReadPoll(user, oldpolls) == "") then | + | user:SendPM(Bot, "Es gibt keine beendeten Umfragen") |
− | | + | else |
− | user:SendPM(Bot, "Es gibt keine beendeten Umfragen") | + | user:SendPM(Bot, ReadPoll(user, oldpolls)) |
− | | + | end |
− | else | + | else |
− | | + | user:SendPM(Bot, "Du hast keine Befugnis diesen Befehl zu nutzen!") |
− | user:SendPM(Bot, ReadPoll(user, oldpolls)) | + | end |
− | | + | return 1 |
− | end | + | elseif (cmd=="+votefor") then |
− | | + | if (ReadPoll(user, votetext) == "") then |
− | else | + | user:SendPM(Bot, "Es gibt keine Abstimmungen bzw. Umfragen") |
− | | + | else |
− | user:SendPM(Bot, "Du hast keine Befugnis diesen Befehl zu nutzen!") | + | user:SendPM(Bot, ReadPoll(user, votetext)) |
− | | + | end |
| + | return 1 |
| + | elseif (cmd=="+vote") then |
| + | local s,e,number,opt = string.find(data,"%b<>%s+%S+%s+(%S+)%s+(%S+)") |
| + | if (tonumber(number) == nil) then |
| + | user:SendPM(Bot, "Syntax error, +vote <nr> <y/n>, nr muss eine Nummer sein!") |
| + | else |
| + | number = tonumber(number) |
| + | if (opt == nil or opt == "" or opt ~= "n" and opt ~= "y") then |
| + | user:SendPM(Bot, "Syntax error, +vote <nr> <y/n>, du musst schreiben (y = ja) oder (n = nein).") |
| + | else |
| + | if (Vote(user, number, opt) == 1) then |
| + | user:SendPM(Bot, "Deine Abstimmung wurde registriert.") |
| + | vt[user.sName] = 1 |
| + | nr[user.sName] = number |
| + | elseif(Vote(user, number, opt) == 2) then |
| + | user:SendPM(Bot, "Du hast bei dieser Umfrage bereits abgestimmt") |
| + | else |
| + | user:SendPM(Bot, "Es gibt keine Umfrage mit der Nummer "..number..".") |
| + | end |
| + | end |
| end | | end |
− |
| |
| return 1 | | return 1 |
− | | + | elseif (cmd=="+delvote") then |
− | elseif (cmd=="+votefor") then
| + | if (user.iProfile == 0) then |
− | | + | local s,e,number = string.find(data,"%b<>%s+%S+%s+(%S+)") |
− | if (ReadPoll(user, votetext) == "") then
| + | if (tonumber(number) == nil) then |
− | | + | user:SendPM(Bot, "Syntax error, +delvote <nr>, nr muss eine Nummer sein!") |
− | user:SendPM(Bot, "Es gibt keine Abstimmungen bzw. Umfragen")
| + | else |
− | | + | number = tonumber(number) |
− | else
| + | if (DelOldPoll(user, number) == 0) then |
− | | + | user:SendPM(Bot, "Es gibt keine beendete Umfrage mit der Nummer "..number) |
− | user:SendPM(Bot, ReadPoll(user, votetext))
| + | else |
− | | + | user:SendPM(Bot, "Die alte Umfrage wurde gelöscht.") |
− | end
| + | end |
− | | + | end |
− | return 1
| + | else |
− | | + | user:SendPM(Bot, "Du hast keine Befugnis diesen Befehl zu nutzen!") |
− | elseif (cmd=="+vote") then
| + | end |
− | | + | return 1 |
− | local s,e,number,opt = string.find(data,"%b<>%s+%S+%s+(%S+)%s+(%S+)")
| + | end |
− | | + | end |
− | if (tonumber(number) == nil) then
| |
− | | |
− | user:SendPM(Bot, "Syntax error, +vote <nr> <y/n>, nr muss eine Nummer sein!")
| |
− | | |
− | else
| |
− | | |
− | number = tonumber(number)
| |
− | | |
− | if (opt == nil or opt == "" or opt ~= "n" and opt ~= "y") then
| |
− | | |
− | user:SendPM(Bot, "Syntax error, +vote <nr> <y/n>, du musst schreiben (y = ja) oder (n = nein).")
| |
− | | |
− | else
| |
− | | |
− | if (Vote(user, number, opt) == 1) then
| |
− | | |
− | user:SendPM(Bot, "Deine Abstimmung wurde registriert.")
| |
− | | |
− | vt[user.sName] = 1
| |
− | | |
− | nr[user.sName] = number
| |
− | | |
− | elseif(Vote(user, number, opt) == 2) then
| |
− | | |
− | user:SendPM(Bot, "Du hast bei dieser Umfrage bereits abgestimmt")
| |
− | | |
− | else
| |
− | | |
− | user:SendPM(Bot, "Es gibt keine Umfrage mit der Nummer "..number..".")
| |
− | | |
− | end
| |
− | | |
− | end
| |
− | | |
− | end
| |
− | | |
− | return 1
| |
− | | |
− | elseif (cmd=="+delvote") then | |
− | | |
− | if (user.iProfile == 0) then | |
− | | |
− | local s,e,number = string.find(data,"%b<>%s+%S+%s+(%S+)") | |
− | | |
− | if (tonumber(number) == nil) then | |
− | | |
− | user:SendPM(Bot, "Syntax error, +delvote <nr>, nr muss eine Nummer sein!") | |
− | | |
− | else | |
− | | |
− | number = tonumber(number) | |
− | | |
− | if (DelOldPoll(user, number) == 0) then | |
− | | |
− | user:SendPM(Bot, "Es gibt keine beendete Umfrage mit der Nummer "..number) | |
− | | |
− | else | |
− | | |
− | user:SendPM(Bot, "Die alte Umfrage wurde gelöscht.") | |
− | | |
− | end | |
− | | |
− | end | |
− | | |
− | else | |
− | | |
− | user:SendPM(Bot, "Du hast keine Befugnis diesen Befehl zu nutzen!") | |
− | | |
− | end | |
− | | |
− | return 1 | |
− | | |
− | end | |
− | | |
− | end | |
− | | |
− | | |
| | | |
| ToArrival = ChatArrival | | ToArrival = ChatArrival |
− |
| |
− |
| |
− |
| |
− |
| |
| | | |
| function CreatePoll(user, number, question) | | function CreatePoll(user, number, question) |
− |
| |
| local tmp = "" | | local tmp = "" |
− | | + | local time = 0 |
− | local time = 0 | |
− | | |
| local a = io.open(oldpolls, "r") | | local a = io.open(oldpolls, "r") |
− |
| |
| if a then | | if a then |
− | | + | while 1 do |
− | while 1 do | + | local line = a:read() |
− | | + | if (line == nil) then |
− | local line = a:read() | + | break |
− | | + | else |
− | if (line == nil) then | + | local s,e,num = string.find(line,"Nr:%s+(%S+)%s+") |
− | | + | if (tonumber(num) ~= nil and tonumber(num) == number) then |
− | break | + | time = 2 |
− | | + | else |
− | else | + | end |
− | | + | end |
− | local s,e,num = string.find(line,"Nr:%s+(%S+)%s+") | + | end |
− | | |
− | if (tonumber(num) ~= nil and tonumber(num) == number) then | |
− | | |
− | time = 2 | |
− | | |
− | else | |
− | | |
− | end | |
− | | |
− | end | |
− | | |
− | end | |
− | | |
| a:close() | | a:close() |
− | | + | else |
− | else | + | dofile(oldpolls) |
− | | |
− | dofile(oldpolls) | |
− | | |
| -- return a.." doesnt exist" | | -- return a.." doesnt exist" |
− |
| |
| end | | end |
− |
| |
− |
| |
| | | |
| local b = io.open(votetext,"r") | | local b = io.open(votetext,"r") |
− |
| |
| if b then | | if b then |
− | | + | while 1 do |
− | while 1 do | + | local line = b:read() |
− | | + | if (line == nil) then |
− | local line = b:read() | + | if (time == 2) then |
− | | + | break |
− | if (line == nil) then | + | else |
− | | + | tmp = tmp.."Nr: "..number.." Umfrage: "..question.." Ja: 0 Nein: 0 Active: Ja\r\n" |
− | if (time == 2) then | + | time = 1 |
− | | + | break |
− | break | + | end |
− | | + | else |
− | else | + | local s,e,num = string.find(line,"Nr:%s+(%S+)%s+") |
− | | + | if (tonumber(num) ~= nil and tonumber(num) == number) then |
− | tmp = tmp.."Nr: "..number.." Umfrage: "..question.." Ja: 0 Nein: 0 Active: Ja\r\n" | + | tmp = tmp..line.."\r\n" |
− | | + | time = 2 |
− | time = 1 | + | else |
− | | + | tmp = tmp..line.."\r\n" |
− | break | + | end |
− | | + | end |
− | end | + | end |
− | | |
− | else | |
− | | |
− | local s,e,num = string.find(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 | |
| | | |
| b:close() | | b:close() |
− |
| |
| local l = io.open(votetext,"w+") | | local l = io.open(votetext,"w+") |
− |
| |
| l:write(tmp) | | l:write(tmp) |
− |
| |
| l:flush() | | l:flush() |
− |
| |
| l:close() | | l:close() |
− |
| |
| return time | | return time |
− | | + | else |
− | else | + | dofile(votetext) |
− | | |
− | dofile(votetext) | |
− | | |
| -- return b.." doesnt exist" | | -- return b.." doesnt exist" |
− |
| |
| end | | end |
− | | + | return time |
− | return time | + | end |
− | | |
− | end | |
− | | |
− | | |
| | | |
| function OldPoll(user, number) | | function OldPoll(user, number) |
− |
| |
| local tmp = "" | | local tmp = "" |
− |
| |
| local tmp2 = "" | | local tmp2 = "" |
− | | + | local time = 0 |
− | local time = 0 | |
− | | |
| local c = io.open(votetext,"r") | | local c = io.open(votetext,"r") |
− |
| |
| if c then | | if c then |
− | | + | while 1 do |
− | while 1 do | + | local line = c:read() |
− | | + | if (line == nil) then |
− | local line = c:read() | + | break |
− | | + | else |
− | if (line == nil) then | + | local s,e, num, question, ny, nn = string.find(line,"Nr:%s+(%S+)%s+(.*)Ja:%s+(%S+)%s+Nein:%s+(%S+)%s+Active:") |
− | | + | if (tonumber(num) ~= nil and tonumber(num) == number) then |
− | break | + | tmp2 = tmp2.."Nr: "..number.." "..question.."Ja: "..ny.." Nein: "..nn.." Active: Nein\r\n" |
− | | + | time = 1 |
− | else | + | else |
− | | + | tmp = tmp..line.."\r\n" |
− | local s,e, num, question, ny, nn = string.find(line,"Nr:%s+(%S+)%s+(.*)Ja:%s+(%S+)%s+Nein:%s+(%S+)%s+Active:") | + | end |
− | | + | end |
− | if (tonumber(num) ~= nil and tonumber(num) == number) then | + | end |
− | | |
− | tmp2 = tmp2.."Nr: "..number.." "..question.."Ja: "..ny.." Nein: "..nn.." Active: Nein\r\n" | |
− | | |
− | time = 1 | |
− | | |
− | else | |
− | | |
− | tmp = tmp..line.."\r\n" | |
− | | |
− | end | |
− | | |
− | end | |
− | | |
− | end | |
− | | |
| c:close() | | c:close() |
− |
| |
| local d = io.open(votetext,"w+") | | local d = io.open(votetext,"w+") |
− |
| |
| d:write(tmp) | | d:write(tmp) |
− |
| |
| d:flush() | | d:flush() |
− |
| |
| d:close() | | d:close() |
− |
| |
| if (time == 0) then | | if (time == 0) then |
− | | + | else |
− | else | |
− | | |
| local e = io.open(oldpolls, "a+") -- "a+" | | local e = io.open(oldpolls, "a+") -- "a+" |
− | | + | e:write(tmp2) |
− | e:write(tmp2) | |
− | | |
| e:close() | | e:close() |
− | | + | end |
− | end | + | return time |
− | | + | else |
− | return time | + | dofile(votetext) |
− | | |
− | else | |
− | | |
− | dofile(votetext) | |
− | | |
| -- return c.." existiert nicht" | | -- return c.." existiert nicht" |
| | | |
| end | | end |
| + | end |
| | | |
− | end
| + | function CheckPoll(user, number, file) |
− | | + | local tmp = "" |
− | | |
− | | |
− | function CheckPoll(user, number, file) | |
− | | |
− | local tmp = "" | |
− | | |
| local f = io.open(file,"r") | | local f = io.open(file,"r") |
− |
| |
| if f then | | if f then |
− | | + | while 1 do |
− | while 1 do | + | local line = f:read() |
− | | + | if (line == nil) then |
− | local line = f:read() | + | break |
− | | + | else |
− | if (line == nil) then | + | local s,e, num, question, ny, nn = string.find(line,"Nr:%s+(%S+)%s+(.*)Ja:%s+(%S+)%s+Nein:%s+(%S+)%s+Active:") |
− | | + | if (tonumber(num) ~= nil and tonumber(num) == number) then |
− | break | + | tmp = tmp.."\r\n________________________________________________" |
− | | + | tmp = tmp.."\r\n------------------------------------------ Voting ------------------------------------------" |
− | else | + | tmp = tmp.."\r\n¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\r\n\r\n" |
− | | + | tmp = tmp.."Ergebnis von Umfrage Nr: "..num.." " |
− | local s,e, num, question, ny, nn = string.find(line,"Nr:%s+(%S+)%s+(.*)Ja:%s+(%S+)%s+Nein:%s+(%S+)%s+Active:") | |
− | | |
− | if (tonumber(num) ~= nil and tonumber(num) == number) then | |
− | | |
− | tmp = tmp.."\r\n________________________________________________" | |
− | | |
− | tmp = tmp.."\r\n------------------------------------------ Voting ------------------------------------------" | |
− | | |
− | tmp = tmp.."\r\n¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\r\n\r\n" | |
− | | |
− | tmp = tmp.."Ergebnis von Umfrage Nr: "..num.." " | |
− | | |
| tmp = tmp.."\r\n¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\r\n\r\n" | | tmp = tmp.."\r\n¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\r\n\r\n" |
− | | + | tmp = tmp..""..question.."\r\n" |
− | tmp = tmp..""..question.."\r\n" | + | tmp = tmp.."------------------------------\r\n" |
− | | + | tmp = tmp.."Ja: "..ny.."\r\n" |
− | tmp = tmp.."------------------------------\r\n" | + | tmp = tmp.."Nein: "..nn.."\r\n" |
− | | + | tmp = tmp.."------------------------------\r\n" |
− | tmp = tmp.."Ja: "..ny.."\r\n" | + | if (tonumber(ny) > tonumber(nn)) then |
− | | + | tmp = tmp.."Ja liegt vorne" |
− | tmp = tmp.."Nein: "..nn.."\r\n" | + | elseif (tonumber(ny) < tonumber(nn)) then |
− | | + | tmp = tmp.."Nein hat gewonnen." |
− | tmp = tmp.."------------------------------\r\n" | + | elseif (tonumber(ny) == tonumber(nn)) then |
− | | + | tmp = tmp.."unentschieden." |
− | if (tonumber(ny) > tonumber(nn)) then | + | end |
− | | |
− | tmp = tmp.."Ja liegt vorne" | |
− | | |
− | elseif (tonumber(ny) < tonumber(nn)) then | |
− | | |
− | tmp = tmp.."Nein hat gewonnen." | |
− | | |
− | elseif (tonumber(ny) == tonumber(nn)) then | |
− | | |
− | tmp = tmp.."unentschieden." | |
− | | |
− | end | |
− | | |
| break | | break |
− | | + | else |
− | else | + | end |
− | | + | end |
− | end | |
− | | |
− | end | |
− | | |
| end | | end |
− |
| |
| f:close() | | f:close() |
− | | + | return tmp |
− | return tmp | + | else |
− | | + | dofile(file) |
− | else | |
− | | |
− | dofile(file) | |
− | | |
| -- return f.." existiert nicht" | | -- return f.." existiert nicht" |
− |
| |
| end | | end |
− | | + | end |
− | end | |
− | | |
− | | |
| | | |
| function ReadPoll(user, file) | | function ReadPoll(user, file) |
− |
| |
| local tmp = "" | | local tmp = "" |
− |
| |
| local g = io.open(file,"r") | | local g = io.open(file,"r") |
− |
| |
| if g then | | if g then |
− |
| |
| while 1 do | | while 1 do |
− |
| |
| local line = g:read() | | local line = g:read() |
− |
| |
| if (line == nil or line == "") then | | if (line == nil or line == "") then |
− | | + | break |
− | break
| |
− | | |
| else | | else |
− |
| |
| local s,e, num, question, ny, nn = string.find(line,"Nr:%s+(%S+)%s+(.*)Ja:%s+(%S+)%s+Nein:%s+(%S+)%s+Active:") | | local s,e, num, question, ny, nn = string.find(line,"Nr:%s+(%S+)%s+(.*)Ja:%s+(%S+)%s+Nein:%s+(%S+)%s+Active:") |
− |
| |
| if (num == nil) then | | if (num == nil) then |
− |
| |
| else | | else |
− |
| |
| tmp = tmp.."\r\n________________________________________________" | | tmp = tmp.."\r\n________________________________________________" |
− |
| |
| tmp = tmp.."\r\n------------------------------------------ Voting ------------------------------------------" | | tmp = tmp.."\r\n------------------------------------------ Voting ------------------------------------------" |
− |
| |
| tmp = tmp.."\r\n¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\r\n\r\n" | | tmp = tmp.."\r\n¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\r\n\r\n" |
− |
| |
| tmp = tmp.."Ergebnis von Umfrage Nr: "..num.." " | | tmp = tmp.."Ergebnis von Umfrage Nr: "..num.." " |
− |
| |
| tmp = tmp.."\r\n¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\r\n\r\n" | | tmp = tmp.."\r\n¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\r\n\r\n" |
− |
| |
| tmp = tmp..""..question.."\r\n" | | tmp = tmp..""..question.."\r\n" |
− |
| |
| tmp = tmp.."------------------------------\r\n" | | tmp = tmp.."------------------------------\r\n" |
− |
| |
| tmp = tmp.."Ja: "..ny.."\r\n" | | tmp = tmp.."Ja: "..ny.."\r\n" |
− |
| |
| tmp = tmp.."Nein: "..nn.."\r\n" | | tmp = tmp.."Nein: "..nn.."\r\n" |
− |
| |
| tmp = tmp.."------------------------------\r\n" | | tmp = tmp.."------------------------------\r\n" |
− |
| |
| if (file == oldpolls) then | | if (file == oldpolls) then |
− |
| |
| tmp = tmp.."Umfrage beendet\r\n" | | tmp = tmp.."Umfrage beendet\r\n" |
− |
| |
| elseif (file == votetext) then | | elseif (file == votetext) then |
− |
| |
| tmp = tmp.."Umfrage läuft noch\r\n" | | tmp = tmp.."Umfrage läuft noch\r\n" |
− |
| |
| end | | end |
− |
| |
| end | | end |
− |
| |
| end | | end |
− |
| |
| end | | end |
− |
| |
| g:close() | | g:close() |
− |
| |
| return tmp | | return tmp |
− |
| |
| else | | else |
− |
| |
| dofile(file) | | dofile(file) |
− |
| |
| -- return g.." existiert nicht" | | -- return g.." existiert nicht" |
− |
| |
| end | | end |
− |
| |
| end | | end |
− |
| |
− |
| |
| | | |
| function Vote(user, number, opt) | | function Vote(user, number, opt) |
− |
| |
| local tmp = "" | | local tmp = "" |
− |
| |
| local time = 0 | | local time = 0 |
− |
| |
| if (vt[user.sName] == 1 and nr[user.sName] == number) then | | if (vt[user.sName] == 1 and nr[user.sName] == number) then |
− |
| |
| time = 2 | | time = 2 |
− |
| |
| else | | else |
− |
| |
− |
| |
| | | |
| local h = io.open(votetext,"r") | | local h = io.open(votetext,"r") |
− |
| |
| if h then | | if h then |
− |
| |
| while 1 do | | while 1 do |
− |
| |
| local line = h:read() | | local line = h:read() |
− |
| |
| if (line == nil) then | | if (line == nil) then |
− |
| |
| break | | break |
− |
| |
| else | | else |
− |
| |
| local s,e, num, question, ny, nn = string.find(line,"Nr:%s+(%S+)%s+(.*)Ja:%s+(%S+)%s+Nein:%s+(%S+)%s+Active:") | | local s,e, num, question, ny, nn = string.find(line,"Nr:%s+(%S+)%s+(.*)Ja:%s+(%S+)%s+Nein:%s+(%S+)%s+Active:") |
− |
| |
| if (tonumber(num) ~= nil and tonumber(num) == number) then | | if (tonumber(num) ~= nil and tonumber(num) == number) then |
− |
| |
| if (opt == "y") then | | if (opt == "y") then |
− |
| |
| ny = tonumber(ny) + 1 | | ny = tonumber(ny) + 1 |
− |
| |
| elseif (opt == "n") then | | elseif (opt == "n") then |
− |
| |
| nn = tonumber(nn) + 1 | | nn = tonumber(nn) + 1 |
− |
| |
| end | | end |
− |
| |
| tmp = tmp.."Nr: "..number.." "..question.."Ja: "..ny.." Nein: "..nn.." Active: Ja\r\n" | | tmp = tmp.."Nr: "..number.." "..question.."Ja: "..ny.." Nein: "..nn.." Active: Ja\r\n" |
− |
| |
| time = 1 | | time = 1 |
− |
| |
| else | | else |
− |
| |
| tmp = tmp..line.."\r\n" | | tmp = tmp..line.."\r\n" |
− |
| |
| end | | end |
− |
| |
| end | | end |
− |
| |
| end | | end |
− |
| |
| h:close() | | h:close() |
− |
| |
| else | | else |
− |
| |
| dofile(votetext) | | dofile(votetext) |
− |
| |
| -- return h.." existiert nicht" | | -- return h.." existiert nicht" |
− |
| |
| end | | end |
− |
| |
| local i = io.open(votetext,"w+") | | local i = io.open(votetext,"w+") |
− |
| |
| i:write(tmp) | | i:write(tmp) |
− |
| |
| i:flush() | | i:flush() |
− |
| |
| i:close() | | i:close() |
− |
| |
| end | | end |
− |
| |
| return time | | return time |
− |
| |
| end | | end |
− |
| |
− |
| |
| | | |
| function DelOldPoll(user, number) | | function DelOldPoll(user, number) |
− |
| |
| local tmp = "" | | local tmp = "" |
− |
| |
| local time = 0 | | local time = 0 |
− |
| |
− |
| |
− |
| |
| local j = io.open(oldpolls,"r") | | local j = io.open(oldpolls,"r") |
− |
| |
| if j then | | if j then |
− |
| |
| while 1 do | | while 1 do |
− |
| |
| local line = j:read() | | local line = j:read() |
− |
| |
| if (line == nil) then | | if (line == nil) then |
− |
| |
| break | | break |
− |
| |
| else | | else |
− |
| |
| local s,e, num, question, ny, nn = string.find(line,"Nr:%s+(%S+)%s+(.*)Ja:%s+(%S+)%s+Nein:%s+(%S+)%s+Active:") | | local s,e, num, question, ny, nn = string.find(line,"Nr:%s+(%S+)%s+(.*)Ja:%s+(%S+)%s+Nein:%s+(%S+)%s+Active:") |
− |
| |
| if (tonumber(num) ~= nil and tonumber(num) == number) then | | if (tonumber(num) ~= nil and tonumber(num) == number) then |
− |
| |
| time = 1 | | time = 1 |
− |
| |
| else | | else |
− |
| |
| tmp = tmp..line.."\r\n" | | tmp = tmp..line.."\r\n" |
− |
| |
| end | | end |
− |
| |
| end | | end |
− |
| |
| end | | end |
− |
| |
| j:close() | | j:close() |
− |
| |
| else | | else |
− | | + | dofile(oldpolls) |
− | dofile(oldpolls)
| |
− | | |
| -- return j.." existiert nicht" | | -- return j.." existiert nicht" |
− |
| |
| end | | end |
− |
| |
| local k = io.open(oldpolls,"w+") | | local k = io.open(oldpolls,"w+") |
− |
| |
| k:write(tmp) | | k:write(tmp) |
− |
| |
| k:flush() | | k:flush() |
− |
| |
| k:close() | | k:close() |
− |
| |
| return time | | return time |
− |
| |
| end | | end |
| </pre> | | </pre> |