Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Imports Globals.GlobalResources
- Imports System.IO
- Public Class Class1
- Implements Globals.Plgn
- Public Win As Main
- Private Origin As String = "Raffle2"
- Public Sub Config() Implements Globals.Plgn.Config
- On Error Resume Next
- Win.Show()
- End Sub
- Public ReadOnly Property Name As String Implements Globals.Plgn.Name
- Get
- Return "Raffle 2 - TizzyT"
- End Get
- End Property
- Public Function ProcessMessage(ByVal InputMessage As Message) As Boolean Implements Globals.Plgn.ProcessMessage
- Win.Master = InputMessage.Owner
- Win.BotNick = InputMessage.BotNick
- If InputMessage.Type = MessageType.PRIVMSG Then
- If InputMessage.Message.Trim.ToLower.StartsWith(Win.StartRaffle) Then
- If InputMessage.Nick = InputMessage.Owner Then
- If Win.CurrentlyRaffle Then
- AddToSend("PRIVMSG " & InputMessage.Target & " :" & ParseMessage(InputMessage, Win.OwnerMessageManyRaffles))
- Else
- AddToSend("PRIVMSG " & InputMessage.Target & " :" & ParseMessage(InputMessage, Win.OwnerMessageRaffleStrt))
- Win.CurrentlyRaffle = True
- End If
- Else
- If Win.CurrentlyRaffle Then
- If Win.Participants.Items.Contains(InputMessage.Nick) Then
- AddToSend("PRIVMSG " & InputMessage.Target & " :" & InputMessage.Nick & " you are already participating")
- Else
- Win.AddToRaffle(InputMessage.Nick)
- AddToSend("PRIVMSG " & InputMessage.Target & " :" & ParseMessage(InputMessage, Win.UserJoinRaffle))
- End If
- Else
- AddToSend("PRIVMSG " & InputMessage.Target & " :" & ParseMessage(InputMessage, Win.UserjoinNoRaffle))
- End If
- End If
- ElseIf InputMessage.Message.Trim.ToLower.StartsWith(Win.EndRaffle) Then
- If Win.CurrentlyRaffle And InputMessage.Nick = InputMessage.Owner Then
- Win.CurrentlyRaffle = False
- If Win.Participants.Items.Count = 0 Then
- AddToSend("PRIVMSG " & InputMessage.Target & " :" & ParseMessage(InputMessage, Win.NoWinner))
- Else
- Win.previousWinner = Win.Participants.Items(New Random().Next(0, Win.Participants.Items.Count))
- Win.ClearRaffle()
- InputMessage.Nick = Win.previousWinner
- AddToSend("PRIVMSG " & InputMessage.Target & " :" & ParseMessage(InputMessage, Win.Winner))
- End If
- Else
- If InputMessage.Nick = InputMessage.Owner Then
- AddToSend("PRIVMSG " & InputMessage.Target & " :" & ParseMessage(InputMessage, Win.EndNoRaffle))
- Else
- AddToSend("PRIVMSG " & InputMessage.Target & " :" & ParseMessage(InputMessage, Win.EndUser))
- End If
- End If
- End If
- Return True
- End If
- Return False
- End Function
- Public Sub New()
- Win = New Main
- If System.IO.File.Exists(My.Application.Info.DirectoryPath & "\Plugins\Raffle2.ini") Then
- Dim ConfigReader As New StreamReader(My.Application.Info.DirectoryPath & "\Plugins\Raffle2.ini")
- While ConfigReader.Peek <> -1
- Dim line As String = ConfigReader.ReadLine.Trim
- If line.StartsWith("StartRaffle:") Then
- Win.StartRaffle = line.Remove(0, 12)
- ElseIf line.StartsWith("EndRaffle:") Then
- Win.EndRaffle = line.Remove(0, 10)
- ElseIf line.StartsWith("OwnerMessageRaffleStrt:") Then
- Win.OwnerMessageRaffleStrt = line.Remove(0, 23)
- ElseIf line.StartsWith("OwnerMessageManyRaffles:") Then
- Win.OwnerMessageManyRaffles = line.Remove(0, 24)
- ElseIf line.StartsWith("UserJoinRaffle:") Then
- Win.UserJoinRaffle = line.Remove(0, 15)
- ElseIf line.StartsWith("UserjoinNoRaffle:") Then
- Win.UserjoinNoRaffle = line.Remove(0, 17)
- ElseIf line.StartsWith("NoWinner:") Then
- Win.NoWinner = line.Remove(0, 9)
- ElseIf line.StartsWith("Winner:") Then
- Win.Winner = line.Remove(0, 7)
- ElseIf line.StartsWith("EndNoRaffle:") Then
- Win.EndNoRaffle = line.Remove(0, 12)
- ElseIf line.StartsWith("EndUser:") Then
- Win.EndUser = line.Remove(0, 8)
- End If
- End While
- End If
- End Sub
- End Class
- Imports System.Windows.Forms
- Imports Globals.GlobalResources
- Imports System.IO
- Public Class Main
- Public Master As String = ""
- Public BotNick As String = ""
- Public StartRaffle As String = "!raffle"
- Public EndRaffle As String = "!xraffle"
- Public CurrentlyRaffle As Boolean = False
- Public previousWinner As String = String.Empty
- Public OwnerMessageRaffleStrt As String = "<OWNER> I have started a new raffle!"
- Public OwnerMessageManyRaffles As String = "<OWNER> I cant keep track of two raffles!"
- Public UserJoinRaffle As String = "<NICK> joined the raffle!"
- Public UserjoinNoRaffle As String = "<OWNER> hasn't started a raffle yet <NICK>!"
- Public NoWinner As String = "No one won the raffle!"
- Public Winner As String = "<NICK> won the raffle!"
- Public EndNoRaffle As String = "<OWNER> I don't remember starting a raffle!"
- Public EndUser As String = "You don't control me <NICK>!"
- Private Sub StrtBtn_Click(sender As Button, e As EventArgs) Handles StrtBtn.Click
- If sender.Text = "Config" Then
- sender.Text = "Set"
- StrtTxt.Enabled = True
- Else
- If StrtTxt.Text.Trim = "" Then
- StrtTxt.Text = StartRaffle
- StrtTxt.Enabled = False
- sender.Text = "Config"
- Exit Sub
- ElseIf StrtTxt.Text = StartRaffle Then
- StrtTxt.Enabled = False
- sender.Text = "Config"
- Exit Sub
- End If
- StrtTxt.Enabled = False
- sender.Text = "Config"
- StartRaffle = StrtTxt.Text.Trim.ToLower
- SaveInfo()
- AddToSend("PRIVMSG " & GetCurrentChan() & " :Raffle command changed to " & StartRaffle)
- End If
- End Sub
- Public Delegate Sub _AddToRaffle(ByVal nick As String)
- Public Sub AddToRaffle(ByVal nick As String)
- If InvokeRequired Then
- Invoke(New _AddToRaffle(AddressOf AddToRaffle), nick)
- Else
- Participants.Items.Add(nick)
- End If
- End Sub
- Public Delegate Sub _ClearRaffle()
- Public Sub ClearRaffle()
- If InvokeRequired Then
- Invoke(New _ClearRaffle(AddressOf ClearRaffle))
- Else
- Participants.Items.Clear()
- End If
- End Sub
- Public Delegate Sub _WinnerRaffle()
- Public Sub WinnerRaffle()
- If InvokeRequired Then
- Invoke(New _WinnerRaffle(AddressOf WinnerRaffle))
- Else
- Participants.Items.Clear()
- End If
- End Sub
- Private Sub StpBtn_Click(sender As Button, e As EventArgs) Handles StpBtn.Click
- If sender.Text = "Config" Then
- sender.Text = "Set"
- StpTxt.Enabled = True
- Else
- If StpTxt.Text.Trim = "" Then
- StpTxt.Text = EndRaffle
- StpTxt.Enabled = False
- sender.Text = "Config"
- Exit Sub
- ElseIf StpTxt.Text = EndRaffle Then
- StpTxt.Enabled = False
- sender.Text = "Config"
- Exit Sub
- End If
- StpTxt.Enabled = False
- sender.Text = "Config"
- EndRaffle = StpTxt.Text.Trim.ToLower
- SaveInfo()
- End If
- End Sub
- Private Sub Main_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
- e.Cancel = True
- Me.Hide()
- End Sub
- Private Sub MnlStrtBtn_Click(sender As Object, e As EventArgs) Handles MnlStrtBtn.Click
- If CurrentlyRaffle Then
- MsgBox("There is already a raffle in progress" & vbCrLf & "Stop the current raffle to start a new one")
- Else
- CurrentlyRaffle = True
- AddToSend("PRIVMSG " & GetCurrentChan() & " :" & ParseMessage(New Globals.GlobalResources.Message(MessageType.PRIVMSG, "", "", "", "", "", Master, "", "", BotNick), OwnerMessageRaffleStrt))
- End If
- End Sub
- Private Sub MnlStpBtn_Click(sender As Object, e As EventArgs) Handles MnlStpBtn.Click
- If CurrentlyRaffle Then
- CurrentlyRaffle = False
- MsgBox("Raffle Stopped")
- AddToSend("PRIVMSG " & GetCurrentChan() & " :Raffle Halted!")
- Else
- MsgBox("There is no raffle in progress to stop")
- End If
- End Sub
- Private Sub MnlAdd_Click(sender As Object, e As EventArgs) Handles MnlAdd.Click
- If Participants.Items.Contains(MnlAddTxt.Text) Then
- MsgBox("User already part of raffle")
- MnlAddTxt.Text = String.Empty
- Else
- If MnlAddTxt.Text.Trim = "" Then
- MsgBox("Blank users not allowed")
- MnlAddTxt.Text = ""
- Else
- Participants.Items.Add(MnlAddTxt.Text)
- AddToSend("PRIVMSG " & GetCurrentChan() & " :" & MnlAddTxt.Text & " added to raffle!")
- MnlAddTxt.Text = String.Empty
- End If
- End If
- End Sub
- Private Sub MnlRemBtn_Click(sender As Object, e As EventArgs) Handles MnlRemBtn.Click
- If Participants.Items.Contains(MnlRemTxt.Text) Then
- AddToSend("PRIVMSG " & GetCurrentChan() & " :" & MnlRemTxt.Text & " removed from raffle!")
- Participants.Items.RemoveAt(Participants.Items.IndexOf(MnlRemTxt.Text))
- MnlRemTxt.Text = String.Empty
- Else
- MsgBox("There is no such user participating")
- MnlRemTxt.Text = String.Empty
- End If
- End Sub
- Private Sub ChooseWin_Click(sender As Object, e As EventArgs) Handles ChooseWin.Click
- If CurrentlyRaffle Then
- CurrentlyRaffle = False
- MsgBox("Raffle Stopped")
- If Participants.Items.Count = 0 Then
- AddToSend("PRIVMSG " & GetCurrentChan() & " :" & NoWinner)
- Else
- previousWinner = Participants.Items(New Random().Next(0, Participants.Items.Count))
- PrevWinner.Text = previousWinner
- Participants.Items.Clear()
- AddToSend("PRIVMSG " & GetCurrentChan() & " :" & ParseMessage(New Globals.GlobalResources.Message(MessageType.PRIVMSG, previousWinner, previousWinner, "", GetCurrentChan, "", Master, "", "", BotNick), Winner))
- End If
- End If
- End Sub
- Private Sub Button12_Click(sender As Object, e As EventArgs) Handles Button12.Click
- Participants.Items.Clear()
- End Sub
- Private Sub Participants_SelectedIndexChanged(sender As Object, e As EventArgs) Handles Participants.SelectedIndexChanged
- MnlRemTxt.Text = Participants.SelectedItem
- End Sub
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- If sender.Text = "Config" Then
- sender.Text = "Set"
- StrtRaffleTxt.Enabled = True
- Else
- If StrtRaffleTxt.Text.Trim = "" Then
- StrtRaffleTxt.Text = OwnerMessageRaffleStrt
- StrtRaffleTxt.Enabled = False
- sender.Text = "Config"
- Exit Sub
- ElseIf StrtRaffleTxt.Text = OwnerMessageRaffleStrt Then
- StrtRaffleTxt.Enabled = False
- sender.Text = "Config"
- Exit Sub
- End If
- StrtRaffleTxt.Enabled = False
- sender.Text = "Config"
- OwnerMessageRaffleStrt = StrtRaffleTxt.Text.Trim
- SaveInfo()
- End If
- End Sub
- Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
- If sender.Text = "Config" Then
- sender.Text = "Set"
- ManyRaffleTxt.Enabled = True
- Else
- If ManyRaffleTxt.Text.Trim = "" Then
- ManyRaffleTxt.Text = OwnerMessageManyRaffles
- ManyRaffleTxt.Enabled = False
- sender.Text = "Config"
- Exit Sub
- ElseIf ManyRaffleTxt.Text = OwnerMessageManyRaffles Then
- ManyRaffleTxt.Enabled = False
- sender.Text = "Config"
- Exit Sub
- End If
- ManyRaffleTxt.Enabled = False
- sender.Text = "Config"
- OwnerMessageManyRaffles = ManyRaffleTxt.Text.Trim
- SaveInfo()
- End If
- End Sub
- Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
- If sender.Text = "Config" Then
- sender.Text = "Set"
- JoinRaffleTxt.Enabled = True
- Else
- If JoinRaffleTxt.Text.Trim = "" Then
- JoinRaffleTxt.Text = UserJoinRaffle
- JoinRaffleTxt.Enabled = False
- sender.Text = "Config"
- Exit Sub
- ElseIf JoinRaffleTxt.Text = UserJoinRaffle Then
- JoinRaffleTxt.Enabled = False
- sender.Text = "Config"
- Exit Sub
- End If
- JoinRaffleTxt.Enabled = False
- sender.Text = "Config"
- UserJoinRaffle = JoinRaffleTxt.Text.Trim
- SaveInfo()
- End If
- End Sub
- Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
- If sender.Text = "Config" Then
- sender.Text = "Set"
- NoRaffleTxt.Enabled = True
- Else
- If NoRaffleTxt.Text.Trim = "" Then
- NoRaffleTxt.Text = UserjoinNoRaffle
- NoRaffleTxt.Enabled = False
- sender.Text = "Config"
- Exit Sub
- ElseIf NoRaffleTxt.Text = UserjoinNoRaffle Then
- NoRaffleTxt.Enabled = False
- sender.Text = "Config"
- Exit Sub
- End If
- NoRaffleTxt.Enabled = False
- sender.Text = "Config"
- UserjoinNoRaffle = NoRaffleTxt.Text.Trim
- SaveInfo()
- End If
- End Sub
- Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
- If sender.Text = "Config" Then
- sender.Text = "Set"
- NoWinnerTxt.Enabled = True
- Else
- If NoWinnerTxt.Text.Trim = "" Then
- NoWinnerTxt.Text = NoWinner
- NoWinnerTxt.Enabled = False
- sender.Text = "Config"
- Exit Sub
- ElseIf NoWinnerTxt.Text = NoWinner Then
- NoWinnerTxt.Enabled = False
- sender.Text = "Config"
- Exit Sub
- End If
- NoWinnerTxt.Enabled = False
- sender.Text = "Config"
- NoWinner = NoWinnerTxt.Text.Trim
- SaveInfo()
- End If
- End Sub
- Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
- If sender.Text = "Config" Then
- sender.Text = "Set"
- WinnerTxt.Enabled = True
- Else
- If WinnerTxt.Text.Trim = "" Then
- WinnerTxt.Text = Winner
- WinnerTxt.Enabled = False
- sender.Text = "Config"
- Exit Sub
- ElseIf WinnerTxt.Text = Winner Then
- WinnerTxt.Enabled = False
- sender.Text = "Config"
- Exit Sub
- End If
- WinnerTxt.Enabled = False
- sender.Text = "Config"
- Winner = WinnerTxt.Text.Trim
- SaveInfo()
- End If
- End Sub
- Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
- If sender.Text = "Config" Then
- sender.Text = "Set"
- CantEndTxt.Enabled = True
- Else
- If CantEndTxt.Text.Trim = "" Then
- CantEndTxt.Text = EndNoRaffle
- CantEndTxt.Enabled = False
- sender.Text = "Config"
- Exit Sub
- ElseIf CantEndTxt.Text = EndNoRaffle Then
- CantEndTxt.Enabled = False
- sender.Text = "Config"
- Exit Sub
- End If
- CantEndTxt.Enabled = False
- sender.Text = "Config"
- EndNoRaffle = CantEndTxt.Text.Trim
- SaveInfo()
- End If
- End Sub
- Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click
- If sender.Text = "Config" Then
- sender.Text = "Set"
- NoControlTxt.Enabled = True
- Else
- If NoControlTxt.Text.Trim = "" Then
- NoControlTxt.Text = EndUser
- NoControlTxt.Enabled = False
- sender.Text = "Config"
- Exit Sub
- ElseIf NoControlTxt.Text = EndUser Then
- NoControlTxt.Enabled = False
- sender.Text = "Config"
- Exit Sub
- End If
- NoControlTxt.Enabled = False
- sender.Text = "Config"
- EndUser = NoControlTxt.Text.Trim
- SaveInfo()
- End If
- End Sub
- Public Sub SaveInfo()
- Dim Saver As New StreamWriter(My.Application.Info.DirectoryPath & "\Plugins\Raffle2.ini", False)
- Saver.WriteLine("StartRaffle:" & StartRaffle)
- Saver.WriteLine("EndRaffle:" & EndRaffle)
- Saver.WriteLine("OwnerMessageRaffleStrt:" & OwnerMessageRaffleStrt)
- Saver.WriteLine("OwnerMessageManyRaffles:" & OwnerMessageManyRaffles)
- Saver.WriteLine("UserJoinRaffle:" & UserJoinRaffle)
- Saver.WriteLine("UserjoinNoRaffle:" & UserjoinNoRaffle)
- Saver.WriteLine("NoWinner:" & NoWinner)
- Saver.WriteLine("Winner:" & Winner)
- Saver.WriteLine("EndNoRaffle:" & EndNoRaffle)
- Saver.WriteLine("EndUser:" & EndUser)
- Saver.Close()
- Saver.Dispose()
- End Sub
- Private Sub Main_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- StrtTxt.Text = StartRaffle
- StpTxt.Text = EndRaffle
- StrtRaffleTxt.Text = OwnerMessageRaffleStrt
- ManyRaffleTxt.Text = OwnerMessageManyRaffles
- JoinRaffleTxt.Text = UserJoinRaffle
- NoRaffleTxt.Text = UserjoinNoRaffle
- NoWinnerTxt.Text = NoWinner
- WinnerTxt.Text = Winner
- CantEndTxt.Text = EndNoRaffle
- NoControlTxt.Text = EndUser
- End Sub
- Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click
- If CurrentlyRaffle Then
- CurrentlyRaffle = False
- AddToSend("PRIVMSG " & GetCurrentChan() & " :Raffle Halted!")
- End If
- If Participants.Items.Count = 0 Then
- MsgBox("No Participants")
- Else
- Dim crntwinner As Integer = New Random().Next(0, Participants.Items.Count)
- previousWinner = Participants.Items(crntwinner)
- PrevWinner.Text = previousWinner
- Participants.Items.RemoveAt(crntwinner)
- AddToSend("PRIVMSG " & GetCurrentChan() & " :" & ParseMessage(New Globals.GlobalResources.Message(MessageType.PRIVMSG, previousWinner, previousWinner, "", GetCurrentChan, "", Master, "", "", BotNick), Winner))
- End If
- End Sub
- End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement