All pastes #177934 Raw Edit

Anonymous

public text v1 · immutable
#177934 ·published 2006-09-20 20:59 UTC
rendered paste body
Imports System.Xml

''' <summary>
''' Digg Notify - Made by "Rub3X".  Cyber-Knowledge.net
''' This program sends a quick pop up when someone has dugg one of your stories.  When it hits FP it will stop monitoring.
''' </summary>
''' 

Public Class frmMain
    Private rand As New Random
    Public objXMLDoc As New XmlDocument
    Dim objNode As System.Xml.XmlNode
    Dim strPath = Application.StartupPath & "\Config.ini"
    Dim arrDiggCount(100) As String
    Dim strSliceMsg As String = ""
    Dim i As Integer = 0
    Dim strCheckHmpg As String = ""

    Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        txtUser.Text = INIRead(strPath, "Config", "User", "Username")
    End Sub

    Private Sub tmrUpdate_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmrUpdate.Tick
        'Dim Thread As New System.Threading.Thread(AddressOf DiggUpdate)
        'Thread.IsBackground = True
        'Thread.Priority = Threading.ThreadPriority.Normal
        'Thread.Start()
        DiggUpdate()
    End Sub

    'Private Delegate Sub DiggUpdateDelegate()
    Public Sub DiggUpdate()
        i = 0
        objXMLDoc.Load("http://digg.com/rss/" & txtUser.Text & "/index1.xml")
        For Each elemOut As Xml.XmlElement In objXMLDoc.GetElementsByTagName("item")
            For Each elemIn As Xml.XmlElement In elemOut.GetElementsByTagName("digg:diggCount")
                arrDiggCount(i) = elemIn.ChildNodes(0).InnerText
                i = i + 1
            Next elemIn
        Next elemOut

        i = 0
        lstStories.Items.Clear()
        For Each objNode In objXMLDoc.SelectNodes("rss/channel/item")
            lstStories.Items.Add(objNode.SelectSingleNode("title").InnerText)
            If INIRead(strPath, txtUser.Text, objNode.SelectSingleNode("title").InnerText, "") = "" Then
                INIWrite(strPath, txtUser.Text, objNode.SelectSingleNode("title").InnerText, arrDiggCount(i))
            End If

            If arrDiggCount(i) - INIRead(strPath, txtUser.Text, objNode.SelectSingleNode("title").InnerText, "") > 1 Or arrDiggCount(i) > 30 Then
                strCheckHmpg = objNode.SelectSingleNode("title").InnerText
            End If

            If INIRead(strPath, txtUser.Text, objNode.SelectSingleNode("title").InnerText, "") <> arrDiggCount(i) And INIRead(strPath, "Ignored", objNode.SelectSingleNode("title").InnerText, "0") <> 1 Then
                Dim strTitle As String = objNode.SelectSingleNode("title").InnerText
                If strTitle.Length > 40 Then
                    strTitle = strTitle.Substring(0, 40) & "..."
                End If

                INIWrite(strPath, txtUser.Text, objNode.SelectSingleNode("title").InnerText, arrDiggCount(i))
                strSliceMsg = strSliceMsg & strTitle & "(" & arrDiggCount(i) & ")" & vbCrLf
            End If
            i = i + 1
        Next
        If strSliceMsg <> "" Then
            Dim slice As New frmToast(Me.rand.Next(5000, 10000), strSliceMsg)
            slice.Height = Me.rand.Next(150, 150)
            slice.Show()
            i = 0
            strSliceMsg = ""
        End If

        If strCheckHmpg <> "" Then
            objXMLDoc.Load("http://digg.com/rss/containertechnology.xml")
            For Each objNode In objXMLDoc.SelectNodes("rss/channel/item")
                If objNode.SelectSingleNode("title").InnerText = strCheckHmpg Then
                    INIWrite(strPath, "Ignored", strCheckHmpg, "1")
                End If
            Next
            strCheckHmpg = ""
        End If

    End Sub

    Private Sub btnStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStart.Click
        If tmrUpdate.Enabled = True Then
            tmrUpdate.Enabled = False
            btnStart.Text = "Start"
        Else
            tmrUpdate.Enabled = True
            btnStart.Text = "Pause"
        End If
        If INIRead(strPath, "Config", "User", "") <> txtUser.Text Then
            INIWrite(strPath, "Config", "User", txtUser.Text)
        End If
    End Sub

    Private Sub btnIgnore_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIgnore.Click
        INIWrite(strPath, "Ignored", lstStories.SelectedItem, "1")
    End Sub
End Class