function doalbums(user)
if (not user.bOperator) or (user.bOperator) then
local albums =""
readfrom("TUNEZ/albums.txt")
while 1 do
local line = read()
if (line == nil) then
break
else
albums = albums..line.."\r\n"
end
end
SendPmToNick(user.sName, Bot, albums)
readfrom()
end
end
This bit lets you do !albums and reads wteva is in the text file. now i want to knw if you can add an extra line so you can use a !addalbum feature in main instead of writing names in the text file. also can u change this bit so only ops can do it. plzzz help. thnks !!!!!!!!!!
I can't help u editing the script as i am not that advanced, but why don't you try this script freshstuff-v.2.54 many people use it there hubs for adding Mp3's to vinyls CDA Moviez etc. I use an older version which i have edited to bring character to the hub since i run a DJ hub.
You should be able to find the scripts here http://217.120.180.188/forum4/index.php (//Scripts).
I apologize if this is not what you exactly want and i hope that you will get the help of this small script.. ;) ;)
ive used that befor but this seems to be better if ther was a add feature.
function doalbums(user)
if user.bOperator then
local albums =""
readfrom("TUNEZ/albums.txt")
while 1 do
local line = read()
if (line == nil) then
break
else
albums = albums..line.."\r\n"
end
end
SendPmToNick(user.sName, Bot, albums)
readfrom()
end
end
but im not sure what you mean about the add to name of album :S
Post the hole script ;)
You need too load the hole Txt whit the albums in a table..
Then Txt in a
Album = {}
But cant help if you dont post the script..
and hove it looks in the Album.txt ;)
lol by add smthing i mean. say wen u wna add text to !albums then people can see the latest albums for example Obie Trice - Cheers. to do this, i have to write that text in the txt file called albums. now in order for all the ops to do this, i need smthing that can make a new command called !addalbum ...... e.g. !addalbum Obie Trice - Cheers. this then adds the text to the txt file and itz added to !albums.
p.s. itz part of the skybot... so the script will be longgg...
Then i can make a little script in the side..
So you se hove a mean maybe not good but ;)
i also found this in the script which is similar to what i want. but it is to add and remove vips etc. i also wnted a delete feature which this has.. can some1 change it so it read albums.txt and adds to tht and deletes to tht .
--// Read Level
function ReadVips()
readfrom("CHANNEL-COMMNDS/vips.lst")
while 1 do
local line = read()
if line == nil then
break
else
VipsTotal = VipsTotal + 1
rawset(VipsList,VipsTotal,line)
end
end
readfrom()
end
function ReadSuperOps()
readfrom("CHANNEL-COMMNDS/superops.lst")
while 1 do
local line = read()
if line == nil then
break
else
SuperOpsTotal = SuperOpsTotal + 1
rawset(SuperOpsList,SuperOpsTotal,line)
end
end
readfrom()
end
function ReadAdmin()
readfrom("CHANNEL-COMMNDS/admin.lst")
while 1 do
local line = read()
if line == nil then
break
else
AdminTotal = AdminTotal + 1
rawset(AdminList,AdminTotal,line)
end
end
readfrom()
end
--// Write Level
function WriteVips()
writeto("SkyBot/vips.lst")
for i=1,VipsTotal,1 do
write(rawget(VipsList,i).."\n")
end
writeto()
end
function WriteSuperOps()
writeto("SkyBot/superops.lst")
for i=1,SuperOpsTotal,1 do
write(rawget(SuperOpsList,i).."\n")
end
writeto()
end
function WriteAdmin()
writeto("SkyBot/admin.lst")
for i=1,AdminTotal,1 do
write(rawget(AdminList,i).."\n")
end
writeto()
end
--// Delete Level
function DeleteVips(Nick)
errlvl = 1
for i=1,VipsTotal,1 do
if rawget(VipsList,i) == Nick then
if i ~= VipsTotal then
rawset(VipsList,i,rawget(VipsList,VipsTotal))
end
VipsTotal = VipsTotal - 1
SortVips()
WriteVips()
errlvl = 0
break
end
end
-- returns 1 if Vips could not be found
return errlvl
end
function DeleteSuperOp(opNick)
errlvl = 1
for i=1,SuperOpsTotal,1 do
if rawget(SuperOpsList,i) == opNick then
if i ~= SuperOpsTotal then
rawset(SuperOpsList,i,rawget(SuperOpsList,SuperOpsTotal))
end
SuperOpsTotal = SuperOpsTotal - 1
SortSuperOps()
WriteSuperOps()
errlvl = 0
break
end
end
-- returns 1 if SuperOp could not be found
return errlvl
end
function DeleteAdmin(opNick)
errlvl = 1
for i=1,AdminTotal,1 do
if rawget(AdminList,i) == opNick then
if i ~= AdminTotal then
rawset(AdminList,i,rawget(AdminList,SuperOpsTotal))
end
AdminTotal = AdminTotal - 1
SortAdmin()
WriteAdmin()
errlvl = 0
break
end
end
-- returns 1 if Admin level could not be found
return errlvl
end
You can try this.
BotName = "-Album_Databas-"
function Main()
frmHub:RegBot(BotName)
LoadAlbum()
end
Albums = "Albums.ini"
AlbumArray = {}
function LoadAlbum()
readfrom(Albums)
while 1 do
local line = read()
if line == nil then
break
else
iGrupp = strsub(line, 1, strfind(line, ";")-1)
iAlbum = strsub(line, strfind(line, ";")+1,-1)
AlbumArray[iGrupp] = iAlbum
end
end
readfrom()
end
function WriteAlbum()
local handle = openfile(Albums,"w")
for iGrupp,iAlbum in AlbumArray do
write(handle,""..iGrupp..";"..iAlbum.."\r\n")
writeto()
end
closefile(handle)
end
function GetArgs2(sdata)
local _,_, arg1,arg2 = strfind(sdata,"%S+%s+%S+%s+(.*);(.*)")
return arg1,arg2
end
function GetArgs5(sdata)
local _,_, arg4,arg5 = strfind(sdata,"$To:%s+%S+%s+From:%s+%S+%s+$%S+%s+%S+%s+(.*);(.*)")
return arg4,arg5
end
function DataArrival(curUser,sdata)
if (strsub(sdata,1,4) == "$To:") or strfind(sdata,"<") then
sdata = strsub(sdata,1,-2)
local _,_, check,cmd = strfind(sdata,"$To:+%s+(%S+)%s+From:+%s+%S+%s+$+%S+%s+(%S+)")
local _,_, cmd = strfind(sdata,"%b<>%s+(%S+)")
if (check == BotName) or (strsub(sdata,1,1) ~= "$") then
if cmd == "!albums" then
Redalbums(curUser)
elseif cmd=="!searchgrupp" then
SearchGrupp(curUser,sdata)
elseif cmd == "!addalbum" and curUser.bOperator then
AddAlbum(cmd,curUser,sdata)
end
end
end
end
function AddAlbum(cmd,curUser,sdata)
if strsub(sdata,1,4) == "$To:" then
arg1,arg2=GetArgs5(sdata)
else
arg1,arg2=GetArgs2(sdata)
end
if arg1==nil or arg2==nil then
curUser:SendData(BotName,"SyntaX is wrong...")
return 1
end
for i,n in AlbumArray do
if n == arg2 then
curUser:SendData(BotName,"The Album ( "..arg2.." ) alredady exist in the file..")
return 1
end
end
appendto(Albums)
write("\r\n"..arg1..";"..arg2)
writeto()
LoadAlbum()
SendToOps(BotName,"New album is added: "..arg1.." - "..arg2)
end
function Redalbums(curUser)
readfrom(Albums)
local message = ""
while 1 do
local line = read()
if (line == nil) then break else
message = message..line.."\r\n"
Suba = gsub(message,";"," - ")
end
end
curUser:SendPM(BotName,"\r\nHer you have all albums in the DataBas.\r\n\r\n"..Suba)
end
Commands is. !addalbum
;
!albums
And you must do a Albums.ini
and wite at the first line Grupp;Album
elo again... thnks for this script but what it grup :S and how to i make a albums.ini file ? wher do i hav to put it.
[ DOWNLOAD ] (http://213.113.240.245/Scripts.rar)
Download that.
ok got it now wt is grup.... can i also delete or is it only add.... thnks
yo tuben dnt wry mate.. i just wnted a feature that can write in main and txt wil go to the txt file. from the skybot. dint wnt to make other scripts. i use skybot 0.2 if some1 knws how to make a write function to the albums thn plz help. thnks :D
I now ;))
;PPP
But i had it in my Hdd ;))
This one have a search funktion also ;))
BotName = "-Album_Databas-"
function Main()
frmHub:RegBot(BotName)
LoadAlbum()
end
Albums = "Albums.ini"
AlbumArray = {}
function LoadAlbum()
readfrom(Albums)
while 1 do
local line = read()
if line == nil then
break
else
iGrupp = strsub(line, 1, strfind(line, ";")-1)
iAlbum = strsub(line, strfind(line, ";")+1,-1)
AlbumArray[iGrupp] = iAlbum
end
end
readfrom()
end
function WriteAlbum()
local handle = openfile(Albums,"w")
for iGrupp,iAlbum in AlbumArray do
write(handle,""..iGrupp..";"..iAlbum.."\r\n")
writeto()
end
closefile(handle)
end
function GetArgs2(sdata)
local _,_, arg1,arg2 = strfind(sdata,"%S+%s+%S+%s+(.*);(.*)")
return arg1,arg2
end
function GetArgs1(sdata)
local _,_, arg1 = strfind(sdata,"%S+%s+%S+%s+(.*)")
return arg1
end
function GetArgs4(sdata)
local _,_, arg4 = strfind(sdata,"$To:%s+%S+%s+From:%s+%S+%s+$%S+%s+%S+%s+(.*)")
return arg4
end
function GetArgs5(sdata)
local _,_, arg4,arg5 = strfind(sdata,"$To:%s+%S+%s+From:%s+%S+%s+$%S+%s+%S+%s+(.*);(.*)")
return arg4,arg5
end
function DataArrival(curUser,sdata)
if (strsub(sdata,1,4) == "$To:") or strfind(sdata,"<") then
sdata = strsub(sdata,1,-2)
local _,_, check,cmd = strfind(sdata,"$To:+%s+(%S+)%s+From:+%s+%S+%s+$+%S+%s+(%S+)")
local _,_, cmd = strfind(sdata,"%b<>%s+(%S+)")
if (check == BotName) or (strsub(sdata,1,1) ~= "$") then
if cmd == "!albums" then
Redalbums(curUser)
elseif cmd=="!searchgroup" then
SearchGrupp(curUser,sdata)
elseif cmd=="!searchalbum" then
SearchAlbum(curUser,sdata)
elseif cmd == "!addalbum" and curUser.bOperator then
AddAlbum(cmd,curUser,sdata)
end
end
end
end
function AddAlbum(cmd,curUser,sdata)
if strsub(sdata,1,4) == "$To:" then
arg1,arg2=GetArgs5(sdata)
else
arg1,arg2=GetArgs2(sdata)
end
if arg1==nil or arg2==nil then
curUser:SendData(BotName,"SyntaX is wrong...")
return 1
end
for i,n in AlbumArray do
if n == arg2 then
curUser:SendData(BotName,"The Album ( "..arg2.." ) alredady exist in the file..")
return 1
end
end
appendto(Albums)
write("\r\n"..arg1..";"..arg2)
writeto()
LoadAlbum()
SendToOps(BotName,"New album is added: "..arg1.." - "..arg2)
end
function Redalbums(curUser)
readfrom(Albums)
local message = ""
while 1 do
local line = read()
if (line == nil) then break else
message = message..line.."\r\n"
Suba = gsub(message,";"," - ")
end
end
curUser:SendPM(BotName,"\r\nHer you have all albums in the DataBas.\r\n\r\n"..Suba)
end
function SearchGrupp(curUser,sdata)
if strsub(sdata,1,4) == "$To:" then
arg1=GetArgs4(sdata)
else
arg1=GetArgs1(sdata)
end
if arg1==nil then
curUser:SendData(BotName,"The syntax is wrong...")
return 1
end
for i,n in AlbumArray do
if strfind(i,arg1) then
curUser:SendPM(BotName,"\r\nI have found this matches too the search for the group "..arg1.."\r\n"..strrep("~",40).."\r\n\r\n"..i.." - "..n)
end
end
end
function SearchAlbum(curUser,sdata)
if strsub(sdata,1,4) == "$To:" then
arg1=GetArgs4(sdata)
else
arg1=GetArgs1(sdata)
end
if arg1==nil then
curUser:SendData(BotName,"The syntax is wrong...")
return 1
end
for i,n in AlbumArray do
if strfind(n,arg1) then
curUser:SendPM(BotName,"\r\nI have found this matches too the search for the album "..arg1.."\r\n"..strrep("~",40).."\r\n\r\n"..i.." - "..n)
end
end
end
Dostn mather but it works ..So why dont use it..
!searchalbum and !searchgroup ;))))))
Have a nice day..
"Edit"
Why dont you do it a Cp can do it ;))