Generated by
http://rev77.net/PluginMakeOfficial.vbs[size=]
Revision 77 Plugin Manager v0.36[/size]
Author: VectorExplanation: Allows you to get plugins off of the Revision 77 Plugin ServerCommands:/r77 updates [hide]Views all the updated plugins on the server. Use [all] to display every plugin on the server. Ex: /r77 updates all
/r77 get <prefix>Allows you to get a plugin off the server
/r77 del <prefix>Allows you to delete a plugin from your computer
/r77 insert listviews all functions that you may insert into your plugiin
/r77 insert preview <function>allows you to view a function before placing it into your plugin
/r77 insert <function> into <prefix>allows you to place a function into your plugin. If you add "--new <plugin name>" It will create a new plugin with the function insierted into it
/r77 open <prefix>allows you to open up a plugin for editing
/r77 cats [category]views the plugin categories up on the server
/r77 nosplashtoggles load information
/r77 listviews all plugins on your folder that have been downloaded from the plugins server
Important Notes:- Make sure to replace the "." in the commands with your bot's trigger.
[/color]
[code]'r77
'0.351
'&Rev77 PlugIn System companion:VecTor:MIni PlugIn System For Rev77.net
'&r77 upDates - retrieves plugIn upDates:r77 get <prefix> - DownLoads plugIn by prefix:r77 plugIns - lists all your plugIns from the server
'&
'&Replace the trigger with "/". These commands are only available Inside the bot.
Private upDatePSTimer
upDatePSTimer = True
Dim plugCount, fso, upDateCount
Public DoNotUpDate
DoNotUpDate = False
upDateCount = 0
plugCount = 0
Dim wscRun
'-- Version HisTory
'// Ver 0.351
'// -Backs up all plugIns that currently exist In your plugIn folder (Thanks Ribose)
'// Ver 0.35
'// -Added a new switch: /r77 Insert <function> InTo <prefix> [--new <plugIn path>]
'// this will create a new plugIn with <prefix> as the prefix with the function
'// Inserted InTo it
'// -Opens all plugIns by default when you Insert functions InTo them
'// -Made the Wscript object "wscRun" Public, as it has more than one use.
'// Ver 0.34, 0.341 and 0.342
'// -Inverted the output of the /r77 upDates command. By default
'// it will show only upDates. Type /r77 upDates all To view all plugIns
'// -Changed the auTomatic upDate Timer To Instead list plugIn upDates
'// If there are any
'// -MInor modIfication To the AddChats In the /r77 upDates command
'// Ver 0.331
'// -The /r77 open command will now open plugIns with notepad
'// which allows the plugIn manager To open plugIn files whose extensions
'// were not registered
'// Ver 0.33
'// -Added a boolean that you can use To turn the auTomatic upDate Timer on or off
'// defaults To True
'// -Fixed nosplash command
'// Ver 0.32 and 0.321
'// -Scripts will auTomatically reLoad If the bot is on beta
'// -Added a settIng To disable Load InFormation
'// -Added a Timer To check For upDates. Defaults To 25 mInutes.
'// Ver 0.30 and 0.31
'// -Separated plugIn upDates from user plugIn upDate
'// so I could focus on whichever one
'// -Shortened output of plugIns on plugIn server
'// Ver 0.29
'// -Added Functions.txt Constant FUNCTIONS_URL
'// -Added three new commands:
'// -/r77 Insert list - gets a list of all functions/subs
'// In the "Useful Subs and Functions" Topic
'// -/r77 Insert preview <function> - preview the code
'// of <function>
'// -/r77 Insert <function> InTo <prefix>
'// Inserts that function InTo the plugIn
'// as specIfied by <prefix>
'// -Created functions.txt file which will contaIn all
'// functions you can Insert InTo plugIns
'// -Added function Insertion ability
'// -Added a Constant To easily access plugIn server control
'// -More InFormation on /r77 cats command
'// -Added more error handlIng
'// -Added a help context command
'// -/r77 open, edit now poInts To the user's plugIns folder
'// Instead of at the upDate server (so you can open any plugIn)
'// Ver 0.28
'// -User's prefix is now lowerCased In dicUserVersions
'// -UpDated backup code
'// -Replaced "dicPl" with "dic" For simplicity
'// Ver 0.27
'// -MInor upDates
'// Ver 0.26
'// -Backs up plugIns with existIng prefixes Instead of deletIng them (Thanks Racial)
'// -Shows the proper plugIn description of DownLoaded plugIns
'// -Changed the DownLoad location of required files To /scripts/deps
'// (required files are additional files a plugIn needs To run)
'// -Added more InFormation on Event_Load()
'// Ver 0.25
'// -Added some more InFormation on the category system In 0.24
'// -Each Time this command is used, the plugIn upDates are refreshed
'// Ver 0.24
'// -Added a cats, category command To get all plugIn categories
'// and the plugIns In each category
'// - /r77 cats [category] will show you all plugIns In that category
'// Ver 0.23
'// -Added some error handlIng In relation To updatIng the plugIn manager
'// -Backed-up files will now have the version number of the manager backed-up
'// -Indicates If your plugIns have upDates To them, only If they Do
'// usIng Cyan Instead of Green, To make it stand out more.
'// Ver 0.22
'// MInor fixes
'// Ver 0.21
'// MInor changes In plugIn and pscall.asp file
'// Ver 0.2
'// Fixed a type castIng error prEventIng newer plugIn upDates, and old plugIns
'// from beIng showed on the upDates list
'// (0.1, 0.2, etc. were beIng shown as 0 To the plugIn. Ex. 0 = 0 (plugIn wasn't DownLoaded)
'// -Implemented an upDate manager (so you Don't have To re-DownLoad it each Time)
'// Ver 0.1
'// This is a plugIn manager designed To DownLoad plugIns off the Rev77.net plugIn server
Const UPDATE_PS_URL = "http://clanmage.phost.ws/Rev77PS.plug"
Const UPDATE_URL = "http://Rev77.net/scripts/pscall.asp?query=upDate"
Const PSCALL_STUB = "http://rev77.net/scripts/pscall.asp"
Const FUNCTIONS_URL = "http://rev77.net/scripts/deps/Functions.txt"
Set dicCrit = CreateObject("ScriptIng.Dictionary")
Set dicUpDates = CreateObject("ScriptIng.Dictionary")
Set dicVersions = CreateObject("ScriptIng.Dictionary")
Set dicDescriptions = CreateObject("ScriptIng.Dictionary")
Set dicAuthors = CreateObject("ScriptIng.Dictionary")
Set dicURLs = CreateObject("ScriptIng.Dictionary")
Set dicUserPlugIns = CreateObject("ScriptIng.Dictionary")
Set dicUserVersions = CreateObject("ScriptIng.Dictionary")
Set dicFileList = CreateObject("ScriptIng.Dictionary")
Set dicCats = CreateObject("ScriptIng.Dictionary")
Set dicCatCount = createObject("ScriptIng.Dictionary")
Sub r77_Event_Load()
getPlugs = scInet.OpenURL(UPDATE_URL)
Set fso = CreateObject("ScriptIng.FileSystemObject")
Set wscRun = CreateObject("Wscript.Shell")
Call parsePlugIns(getPlugs)
Call upDateUserPlugIns()
Call countUpDates()
If GetSettIng("r77", "DoNotShowList") = "" Then
SetSettIng "r77", "DoNotShowList", "False", "", True
DoNotShowList = False
Else
DoNotShowList = GetSettIng("r77", "DoNotShowList")
End If
AddChat vbGreen, "[R77] PlugIn System companion v" & psVersions.Item("r77") & " written by VecTor Loaded."
If Not DoNotShowList Then
AddChat vbGreen, "[R77] Loaded " & plugCount & " plugIns from the Rev77.net PlugIns Server."
AddChat vbGreen, "[R77] There are " & dicVersions.Count & " plugIns on the server."
End If
If upDateCount > 0 Then
AddChat vbCyan, "[R77] " & upDateCount & " of your plugIns have upDates To them on the Rev77.net server."
AddChat vbCyan, "[R77] Type /r77 upDates hide To view the upDates."
End If
If Not DoNotShowList Then
AddChat vbYellow, "[R77] Type /r77 cats For plugIn categories."
AddChat vbGreen, "[R77] Type /r77 upDates To view the plugIns on the server."
AddChat vbGreen, "[R77] Type /r77 help Fore more InFormation."
AddChat vbCyan, "[R77] To disable these Messages, type /r77 nosplash."
AddChat vbCyan, "[R77] To keep up with what I've added, type /r77 edit r77 and look at the ""version hisTory."""
End If
Call upDatePS()
TimerInterval "r77", "upDateTimer", 1500
TimerEnabled "r77", "upDateTimer", upDatePSTimer
End Sub
Sub refresh()
dicCrit.RemoveAll
dicUpDates.RemoveAll
dicVersions.RemoveAll
dicDescriptions.RemoveAll
dicAuthors.RemoveAll
dicURLs.RemoveAll
dicUserPlugIns.RemoveAll
dicUserVersions.RemoveAll
dicFileList.RemoveAll
dicCats.RemoveAll
dicCatCount.RemoveAll
End Sub
Sub parsePlugIns(getPlugs)
parseLInes = Split(getPlugs, "<br />")
If Ubound(parseLInes) = 0 Then
AddChat vbRed, "[R77] The plugIn server has encountered an error."
AddChat vbRed, "[R77] Try agaIn In a few mInutes."
DoNotUpDate = True
End If
For i=0 To Ubound(parseLInes) - 1
getPS = Split(parseLInes(i), "|")
plScriptPath = getPS(0)
plPrefix = LCase(getPS(1))
plVersion = getPS(2)
plDescribe = getPS(3)
plImpInfo = getPS(4)
plURL = getPS(5)
fLInes = getPS(6)
plCat = getPS(7)
If dicUpDates.Exists(plPrefix) Then
AddChat vbRed, "[R77] There is a duplicate prefix: " & plPrefix
AddChat vbRed, "[R77] OrigInal plugIn: " & dicUpDates.Item(plPrefix)
AddChat vbRed, "[R77] PlugIn In conflict: " & plScriptPath
AddChat vbRed, "[R77] PlugIn will not be queried"
AddChat vbRed, "[R77] You should change the prefix In either of these plugIns"
Else
dicUpDates.Item(plPrefix) = plScriptPath
dicCats.Item(plPrefix) = plCat
dicCatCount.Item(plCat) = dicCatCount.Item(plCat) + 1
If plImpInfo <> "" Then dicCrit.Item(plPrefix) = plImpInfo Else plImpInfo = ""
If plURL <> "" Then dicURLs.Item(plPrefix) = "http://Forums.Rev77.net/Index.php?showTopic=" & plURL Else plUrl = ""
If fLInes <> "" Then dicFileList.Item(plPrefix) = getPS(6)
uSpl = Ubound(Split(plDescribe, ":"))
If uSpl >= 1 Then dicAuthors.Item(plPrefix) = Split(plDescribe, ":")(1)
dicVersions.Item(plPrefix) = plVersion
dicDescriptions.Item(plPrefix) = plPrefix & "|" & plVersion & "|" & plDescribe & "|" & plImpInfo
End If
Next
End Sub
Sub upDateUserPlugIns()
plugCount = 0
Set plugInPath = fso.GetFolder(BotPath() & "\plugIns").Files
For Each file In plugInPath
fIndExt = Right(file, 5)
If LCase(fIndExt) = ".plug" And file.Size > 0 Then
Set openPlug = fso.OpenTextFile(file, 1, True)
getLIne = Split(openPlug.ReadAll, vbNewLIne)
openPlug.Close
sFile = Split(file, "\")
uFile = sFile(Ubound(sFile))
uPrefix = LCase(Mid(getLIne(0), 2))
uVersion = Mid(getLIne(1), 2)
dicUserPlugIns.Item(uPrefix) = uFile
dicUserVersions.Item(uPrefix) = uVersion
If dicUpDates.Exists(uPrefix) Then plugCount = plugCount + 1
End If
Next
End Sub
Sub countUpDates()
For each key In dicUpDates.Keys
usrVer = dicUserVersions.Item(key)
plVer = dicVersions.Item(key)
If usrVer <> "" Then
If cDBL(plVer) > cDBL(usrVer) Then
upDateCount = upDateCount + 1
End If
End If
Next
End Sub
Sub r77_Event_PressedEnter(text)
If Not Left(text, 1) = "/" Then Exit Sub
cmd = Split(Mid(LCase(Trim(text)), 2), " ")
ucmd = Ubound(cmd)
If cmd(0) <> "r77" Then Exit Sub
If ucmd = 0 Then
AddChat vbRed, "[R77] Invalid command. Type /phelp r77 For more InFormation."
Exit Sub
End If
Select Case cmd(1)
Case "nosplash"
VeToThisMessage
If DoNotShowList Then
DoNotShowList = False
SetSettIng "r77", "DoNotShowList", "False", "", True
AddChat vbGreen, "[R77] Load Messages will be shown."
Else
DoNotShowList = True
SetSettIng "r77", "DoNotShowList", "True", "", True
AddChat vbGreen, "[R77] Load Messages will not be shown."
End If
Case "help"
VeToThisMessage
Call r77_help_command()
Case "upDates"
showAll = False
getPlugs = scInet.OpenURL(UPDATE_URL)
Call refresh()
Call parsePlugIns(getPlugs)
Call upDateUserPlugIns()
VeToThisMessage
If DoNotUpDate Then
DoNotUpDate = False
Exit Sub
End If
If ucmd > 2 Then Exit Sub
If ucmd = 2 Then If cmd(2) = "all" Then showAll = True
AddChat vbWhite, "[R77] PlugIn Server PlugIn list"
AddChat vbWhite, " "
AddChat vbGreen, "[R77] PlugIns LegEnd:"
AddChat vbWhite, " "
AddChat vbCyan, "[R77] There is an upDate To this plugIn"
AddChat vbOrange, "[R77] PlugIn hasn't been DownLoaded"
AddChat vbRed, "[R77] Important Notes Included with this plugIn"
AddChat vbYellow, "[R77] There are no upDates To this plugIn"
AddChat vbWhite, " "
AddChat vbWhite, " "
Dim valueColor, cyanCount
For each key In dicUpDates.Keys
usrVer = dicUserVersions.Item(key)
plVer = dicVersions.Item(key)
getPlDescribe = Split(dicDescriptions.Item(key), "|")
getPrefix = getPlDescribe(0)
getVersion = getPlDescribe(1)
getDescribe = getPlDescribe(2)
getImpInfo = getPlDescribe(3)
SplitFurther = Split(getDescribe, ":")
uSpl = Ubound(SplitFurther)
If uSpl < 0 Then
getDescription = "No description"
getAuthor = "Unknown"
getUse = "No Info"
ElseIf uSpl = 0 Then
getDescrption = SplitFurther(0)
getAuthor = "Unknown"
getUse = "No Info"
Else
getDescription = SplitFurther(0)
getAuthor = SplitFurther(1)
If uSpl = 2 Then
getUse = SplitFurther(2)
Else
getUse = "No Info"
End If
End If
If dicCrit.Exists(key) Then
valueColor = vbRed
ElseIf cDBL(usrVer) = cDBL(0) Then
valueColor = vbOrange
Else
If cDBL(plVer) > cDBL(usrVer) Then
valueColor = vbCyan
cyanCount = cyanCount + 1
ElseIf cDBL(plVer) = cDBL(usrVer) Then
valueColor = vbYellow
End If
End If
If Not showAll Then
If valueColor = vbCyan Then
AddChat valueColor, "Full name: " & dicUpDates.Item(key) & " by " & getAuthor & " (" & getUse & ")"
AddChat valueColor, "Prefix: " & getPrefix
AddChat valueColor, "Version: " & getVersion & " (your version: " & dicUserVersions.Item(key) & ")"
AddChat valueColor, "Description: " & getDescription
If dicURLs.Exists(key) Then AddChat valueColor, "Visit " & dicURLs.Item(key) & " For more InFormation."
AddChat valueColor, " "
End If
Else
AddChat valueColor, "Prefix: " & getPrefix
AddChat valueColor, "Full name: " & dicUpDates.Item(key) & " by " & getAuthor & " (" & getUse & ")"
If valueColor = vbCyan Then
AddChat valueColor, "Version: " & getVersion & " (your version: " & dicUserVersions.Item(key) & ")"
Else
AddChat valueColor, "Version: " & getVersion
End If
AddChat valueColor, "Description: " & getDescription
If dicURLs.Exists(key) Then AddChat valueColor, "Visit " & dicURLs.Item(key) & " For more InFormation."
AddChat valueColor, " "
End If
Next
If cyanCount = 0 Then AddChat vbGreen, "[R77] There are no upDated plugIns on the plugIns server."
AddChat vbYellow, "[R77] Type /r77 get <prefix> To DownLoad one of the plugIns from this list."
If Not showAll Then
AddChat vbWhite, "[R77] Only upDates To your plugIns have been shown."
AddChat vbWhite, "[R77] If you want To view all plugIns on the server, type /r77 upDates all"
End If
'Case "stats"
'VeToThisMessage
'AddChat vbWhite, "Statistics For the rev77.net plugIns server:"
'AddChat vbWhite, " "
'content = scInet.OpenURL(PSCALL_STUB & "?query=stat&Event=view")
'AddChat vbGreen, content
Case "Insert"
If ucmd < 2 Then Exit Sub
VeToThisMessage
Select Case cmd(2)
Case "list"
content = scInet.OpenURL(FUNCTIONS_URL)
getFunctions = Split(Split(content, "<FunctionList>")(1), "</FunctionList")(0)
SplitFunctions = Split(getFunctions, ", ")
For i=0 To Ubound(SplitFunctions)
getCode = Split(Split(content, "<" & SplitFunctions(i) & ">")(1), "</" & SplitFunctions(i) & ">")(0)
getName = Split(Split(getCode, "<name>")(1), "</name>")(0)
getAuthor = Split(Split(getCode, "<author>")(1), "</author>")(0)
getDescript = Split(Split(getCode, "<description>")(1), "</description>")(0)
If InStr(getCode, "<anotes>") Then
getImpNote = Split(Split(content, "<anotes>")(1), "</anotes>")(0)
End If
AddChat vbWhite, "Function: " & getName
AddChat vbWhite, "Author: " & getAuthor
AddChat vbWhite, "Details: " & getDescript
If getImpNote <> "" Then AddChat vbWhite, "Important Notes: " & getImpNote
AddChat vbWhite, " "
getImpNote = ""
Next
AddChat vbYellow, "[R77] Type /r77 Insert preview <function> To view that function's code."
Case "preview"
content = scInet.OpenURL(FUNCTIONS_URL)
getFunctions = Split(Split(content, "<FunctionList>")(1), "</FunctionList")(0)
SplitFunctions = Split(getFunctions, ", ")
If InArray(SplitFunctions, cmd(3)) Then
getElement = ReturnElement(SplitFunctions, cmd(3))
getElement = Replace(getElement, "?", "")
contentCode = Split(Split(Split(content, "<" & getElement & ">")(1), "<code>" & vbNewLIne)(1), vbNewLIne & " </code>")(0)
SplitLInes = Split(contentCode, vbNewLIne)
AddChat vbYellow, "Code For the function: " & getElement
AddChat vbYellow, " "
For i=0 To Ubound(SplitLInes)
AddChat vbWhite, SplitLInes(i)
Next
AddChat vbWhite, " "
AddChat vbWhite, "[R77] If you want To add this To one of your plugIns, type /r77 Insert " & getElement & " InTo <prefix>."
Else
AddChat vbRed, "[R77] Invalid function."
End If
Case Else
If ucmd < 4 Or LCase(cmd(3)) <> "InTo" Then
AddChat vbWhite, "[R77] Syntax error. Example: /r77 Insert InArray InTo gtw"
Exit Sub
End If
makeNew = False
getFile = vbNullStrIng
If ucmd >= 5 And ucmd < 7 Then
If LCase(cmd(5)) <> "--new" Then
AddChat vbRed, "[R77] Invalid switch. Should be --new."
Exit Sub
End If
makeNew = True
If ucmd <> 6 Then
AddChat vbRed, "[R77] No filename specIfied after the --new switch."
AddChat vbRed, "[R77] Example: /r77 Insert CommandProcessor InTo game --new game.plug"
Else
getFile = cmd(6)
End If
End If
content = scInet.OpenURL(FUNCTIONS_URL)
getFunctions = Split(Split(content, "<FunctionList>")(1), "</FunctionList")(0)
SplitFunctions = Split(getFunctions, ", ")
If InArray(SplitFunctions, cmd(2)) Then
getElement = ReturnElement(SplitFunctions, cmd(2))
contentCode = Split(Split(Split(content, "<" & getElement & ">")(1), "<code>" & vbNewLIne)(1), vbNewLIne & " </code>")(0)
contentCode = Replace(contentCode, "?", "")
If getElement = "CommandProcessor" Then contentCode = Replace(contentCode, "%prefix%", LCase(cmd(4)))
If Not dicUserPlugIns.Exists(cmd(4)) And Not makeNew Then
AddChat vbRed, "[R77] That is an Invalid prefix. type /r77 plugIns For proper prefixes."
Else
If Not makeNew Then
getFile = dicUserPlugIns.Item(cmd(4))
Set addCode = fso.OpenTextFile(BotPath() & "plugIns\" & getFile, 8, True)
addCode.Write vbNewLIne & vbNewLIne & contentCode
addCode.Close
Else
Set addCode = fso.OpenTextFile(BotPath() & "plugIns\" & getFile, 2, True)
AddCode.WriteLIne "'" & LCase(cmd(4))
AddCode.WriteLIne "'0.1"
addCode.Write vbNewLIne & contentCode
addCode.Close
End If
If Not makeNew Then
AddChat vbGreen, "[R77] Successfully Inserted the function " & getElement & " InTo " & getFile
AddChat vbWhite, "[R77] OpenIng plugIn so that you can work on it..."
wscRun.Run("notepad """ & BotPath() & "plugIns\" & getFile & """")
Else
AddChat vbGreen, "[R77] Successfully created a new plugIn with prefix """ & cmd(4) & """ and Inserted the function " & getElement & " InTo it."
AddChat vbWhite, "[R77] OpenIng plugIn so that you can work on it..."
wscRun.Run("notepad """ & BotPath() & "plugIns\" & getFile & """")
End If
End If
Else
AddChat vbRed, "[R77] Invalid function."
End If
End Select
Case "cats", "categories"
getPlugs = scInet.OpenURL(UPDATE_URL)
Call refresh()
Call parsePlugIns(getPlugs)
VeToThisMessage
If DoNotUpDate Then
DoNotUpDate = False
Exit Sub
End If
If ucmd = 1 Then
AddChat vbWhite, "[R77] PlugIns by category: (" & dicVersions.Count & " plugIns Total)"
AddChat vbWhite, " "
For Each key In dicCatCount.Keys
AddChat vbYellow, "[R77] " & key & " (" & dicCatCount.Item(key) & " plugIns)"
Next
AddChat vbWhite, " "
AddChat vbYellow, "[R77] Type /r77 cats <category> To view all plugIns In that category"
Else
getCat = Split(Text, cmd(1) & " ")(1)
For each testForCat In dicCats.Keys
getItem = dicCats.Item(testForCat)
If LCase(getCat) = LCase(getItem) Then
foundItem = getItem
Exit For
End If
Next
If foundItem = "" Then
AddChat vbRed, "[R77] That is not a valid category. Type /r77 cats For categories"
Exit Sub
End If
AddChat vbWhite, "[R77] PlugIns In category: " & foundItem
AddChat vbWhite, " "
For each plugIn In dicCats.Keys
If LCase(dicCats.Item(plugIn)) = LCase(getCat) Then
getPlDescribe = Split(dicDescriptions.Item(plugIn), "|")
getPrefix = getPlDescribe(0)
getVersion = getPlDescribe(1)
getDescribe = getPlDescribe(2)
getImpInfo = getPlDescribe(3)
SplitFurther = Split(getDescribe, ":")
uSpl = Ubound(SplitFurther)
If uSpl < 0 Then
getDescription = "No description"
getAuthor = "Unknown"
getUse = "No Info"
ElseIf uSpl = 0 Then
getDescrption = SplitFurther(0)
getAuthor = "Unknown"
getUse = "No Info"
Else
getDescription = SplitFurther(0)
getAuthor = SplitFurther(1)
If uSpl = 2 Then
getUse = SplitFurther(2)
Else
getUse = "No Info"
End If
End If
AddChat vbYellow, "Prefix: " & getPrefix
AddChat vbYellow, "Full name: " & dicUpDates.Item(plugIn) & " (" & getUse & ")"
AddChat vbYellow, "Version: " & getVersion
AddChat vbYellow, "Author: " & getAuthor
AddChat vbYellow, "Description: " & getDescription
If dicURLs.Exists(key) Then AddChat vbYellow, "Visit " & dicURLs.Item(key) & " For more InFormation."
AddChat vbYellow, " "
End If
Next
AddChat vbYellow, "[R77] Type /r77 get <prefix> To DownLoad that plugIn"
End If
Case "get", "DownLoad"
If ucmd <> 2 Then Exit Sub
getPlugs = scInet.OpenURL(UPDATE_URL)
Call refresh()
Call parsePlugIns(getPlugs)
Call upDateUserPlugIns()
VeToThisMessage
If DoNotUpDate Then
DoNotUpDate = False
Exit Sub
End If
If Not dicUpDates.Exists(cmd(2)) Then
AddChat vbRed, "[R77] That plugIn prefix """ & cmd(2) & """ Does not exist on the plugIns server."
Exit Sub
End If
getFilePath = dicUpDates.Item(cmd(2))
getFileList = dicFileList.Item(cmd(2))
If dicUserPlugIns.Exists(cmd(2)) Then
usrFile = dicUserPlugIns.Item(cmd(2))
plugFile = dicUpDates.Item(cmd(2))
If plugFile <> usrFile Then
AddChat vbRed, "[R77] The prefix """ & cmd(2) & """ already exists on your computer."
AddChat vbRed, "[R77] BackIng up """ & dicUserPlugIns.Item(cmd(2)) & """ To prEvent any side effects."
If Not fso.FolderExists("backup") Then fso.CreateFolder("backup")
fso.CopyFile BotPath() & "plugIns\" & usrFile, BotPath() & "backup\" & usrFile
fso.DeleteFile(BotPath() & "plugIns\" & usrFile)
End If
End If
If dicUserPlugIns.Exists(cmd(2)) Then
AddChat vbGreen, "BackIng up "& dicUserPlugIns.Item(cmd(2)) & "..."
getFile = dicUserPlugIns.Item(cmd(2))
getFile = Replace(getFile, ".plug", "")
getVer = dicUserVersions.Item(cmd(2))
fso.CopyFile BotPath() & "plugIns\" & getFile & ".plug", BotPath() & "backup\" & getFile & "(" & getVer & ").plug"
End If
AddChat vbYellow, "[R77] DownLoadIng " & getFilePath & "..."
content = scInet.OpenURL("http://Rev77.net/scripts/pscall.asp?query=view&script=" & getFilePath)
content = Replace(content, "<pre>", "")
content = Replace(content, "</pre>", "")
Set savePlugIn = fso.OpenTextFile(BotPath() & "plugIns\" & getFilePath, 2, True)
savePlugIn.Write content
savePlugIn.Close
If dicAuthors.Exists(cmd(2)) Then
getDescription = Split(Split(dicDescriptions.Item(cmd(2)), "|")(2), ":")(0)
AddChat vbGreen, "[R77] " & getDescription & " by " & dicAuthors.Item(cmd(2)) & " DownLoaded successfully."
Else
AddChat vbGreen, "[R77] " & getFilePath & " DownLoaded successfully."
End If
If getFileList <> "" Then
getFiles = Split(getFileList, ":")
For i=0 To Ubound(getFiles)
AddChat vbYellow, "[R77] DownLoadIng " & getFiles(i) & "..."
content = scInet.OpenURL("http://Rev77.net/scripts/pscall.asp?query=view&script=deps\" & getFiles(i))
content = Replace(content, "<pre>", "")
content = Replace(content, "</pre>", "")
Set savePlugIn = fso.OpenTextFile(BotPath() & "plugIns\" & getFiles(i), 2, True)
savePlugIn.Write content
savePlugIn.Close
AddChat vbGreen, "[R77] " & getFiles(i) & " DownLoaded successfully."
Next
End If
'result = scInet.OpenURL(PSCALL_STUB & "?query=stat&Event=DownLoad&script=" & dicUpDates.Item(cmd(2)))
'addchat vbGreen, result
If InStr(LCase(GetBotVersion), "beta") Then
AddChat vbGreen, "[R77] PlugIn manager is reLoadIng your scripts..."
Call reLoadScript()
Else
AddChat vbGreen, "[R77] ReLoad your scripts To Load the plugIn."
End If
If dicCrit.Exists(cmd(2)) Then AddChat vbRed, "[R77] Important Note: " & dicCrit.Item(cmd(2))
Case "open", "edit"
VeToThisMessage
Call upDateUserPlugIns()
If Not dicUserPlugIns.Exists(cmd(2)) Then
AddChat vbRed, "[R77] Invalid prefix. Unable To open file."
Exit Sub
End If
wscRun.run("notepad """ & BotPath() & "plugIns\" & dicUserPlugIns.Item(cmd(2)) & """")
Case "list", "plugIns"
VeToThisMessage
Call upDateUserPlugIns()
AddChat vbWhite, "[R77] DisplayIng only those plugIns you have that exist on the Rev77.net PlugIn Server."
AddChat vbWhite, "[R77] Type /plugIns To see all your plugIns."
AddChat vbWhite, " "
idx = 0
For each key In dicUserPlugIns.Keys
If dicDescriptions.Exists(key) Then
getPlDescribe = Split(dicDescriptions.Item(key), "|")
getPrefix = getPlDescribe(0)
getVersion = getPlDescribe(1)
getAuthor = dicAuthors.Item(key)
If dicUpDates.Exists(key) Then
idx = idx + 1
AddChat vbYellow, "Full name: " & dicUpDates.Item(key)
AddChat vbYellow, "Prefix: " & getPrefix
AddChat vbYellow, "Version: " & getVersion
AddChat vbYellow, "Author: " & getAuthor
If idx < plugCount Then AddChat vbYellow, " "
End If
End If
Next
End Select
End Sub
Function InArray(Arr, Item)
If Not IsArray(Arr) Then
InArray = False
Else
Found = False
For i = LBound(Arr) To UBOund(Arr)
If LCase(Arr(i)) = LCase(Item) Then
Found = True
End If
Next
InArray = Found
End If
End Function
Function ReturnElement(Arr, Item)
Found = False
For i = LBound(Arr) To UBOund(Arr)
If LCase(Arr(i)) = LCase(Item) Then
ReturnElement = arr(i)
Exit Function
End If
Next
InArray = Found
End Function
Sub r77_upDateTimer_Timer()
upDateCount = 0
Call parsePlugIns(getPlugs)
Call upDateUserPlugIns()
Call countUpDates()
If upDateCount > 0 Then
AddChat vbCyan, "[R77] " & upDateCount & " of your plugIns have upDates To them on the Rev77.net server."
AddChat vbCyan, "[R77] Type /r77 upDates To view the upDates."
End If
End Sub
Sub upDatePS()
getUpDate = scInet.OpenURL(UPDATE_PS_URL)
If getUpDate = "" Then
AddChat vbRed, "[R77] Your connection To the upDate server cannot be established."
AddChat vbRed, "[R77] The Server is Down, or your connection cannot be established."
Exit Sub
End If
If InStr(LCase(getUpDate), "<title>HTTP 404 not found</title>") > 0 Then
AddChat vbRed, "[R77] Unable To check For upDates. The URL is Invalid."
Exit Sub
End If
contents = Split(getUpDate, vbNewLIne)
version = Mid(contents(1), 2)
name = BotPath() & "backup\Rev77PS(" & psVersions.Item("r77") & ")"
tempName = name
If cDBL(version) > cDBL(psVersions.Item("r77")) Then
AddChat vbYellow, "[R77] There is a new version For your plugIn manager. UpdatIng..."
If Not fso.FolderExists("backup") Then fso.CreateFolder("backup")
checkFile = 1
Do While fso.FileExists(tempName & ".plug")
tempName = name & checkFile
Loop
tempName = tempName & ".plug"
AddChat vbYellow, "[R77] BackIng your PS To " & tempName & "..."
fso.CopyFile BotPath() & "plugIns\Rev77PS.plug", tempName
fso.DeleteFile BotPath() & "plugIns\Rev77PS.plug"