PtokaX forum

Archive => Archived 4.0 boards => Request for Lua 4 scripts => Topic started by: krayzie_t17 on 27 December, 2004, 13:08:35

Title: Modifie this pls !
Post by: krayzie_t17 on 27 December, 2004, 13:08:35
I want this request bot to be modified to  show when command !read or !readfull is used to show in PM not in main .


Thanx very much ! :D
   
--Requested by D-J Valhala
--Made by nErBoS

Bot = "Toshi"
reltxt = "releases.txt" -- Wil be created in the script folder

function DataArrival(user, data)
   if (strsub(data,1,1)=="<") or (strsub(data,1,5+strlen(Bot))=="$To: "..Bot) then
   data=strsub(data,1,strlen(data)-1)
   s,e,cmd = strfind(data,"%b<>%s+(%S+)")
      if (cmd=="!write") then
         AddRelease(user, data)
         return 1
      elseif (cmd=="!readfull") then
         ShowRelease(user, data, "all")
         return 1
      elseif (cmd=="!read") then
         ShowRelease(user, data, "last")
         return 1
      end
   end
end

function AddRelease(user, data)
local s,e,rel,desc = strfind(data,"%b<>%s+%S+%s+(%S+)%s+(.*)")
local tmp = ""
   if (rel == nil or rel == "" or desc == nil or desc == "") then
      user:SendData(Bot, "Syntax Error, !write , must have a release name and description.")
   else
      if (readfrom(reltxt) == nil) then
         writeto(reltxt)
         write("\r\n"..rel.."$"..desc.."$"..user.sName.."$"..GetTime().."|")
         writeto()
      else
         readfrom(reltxt)
         while 1 do
         local line = read()
            if (line == "") then
               tmp = tmp.."\r\n"..rel.."$"..desc.."$"..user.sName.."$"..GetTime().."|"
            elseif(line == nil) then
               break
            else
               tmp = tmp.."\r\n"..line
            end
         end
         readfrom()
         writeto(reltxt)
         write(tmp)
         writeto()
      end
      SendToAll(Bot, "New Release has been added by "..user.sName.."... Type !read to see the release list.")
      user:SendData(Bot, "Your Release as been added to our list, thank you.")
   end
end

function ShowRelease(user, data, type)
local tmp = ""
local tline = 0
if (type == "last") then
tmp = tmp.."Our List of teh last 30 Releases: \r\n\r\n"
else
tmp = tmp.."Our List of Releases: \r\n\r\n"
end
   readfrom(reltxt)
   while 1 do
   local line = read()
      if (type == "last") then
         if (tline == 4) then
            break
         end
      end
      if (line == nil) then
         break
      else
      local s,e,rel,desc,who,time = strfind(line, "(.*)$(.*)$(.*)$(.*)|")
         if (rel ~= nil) then
            tmp = tmp.."Release Name: "..rel.."\r\n"
            tmp = tmp.."Description: "..desc.."\r\n"
            tmp = tmp.."Posted by: "..who.."\r\n"
            tmp = tmp.."Post Time: "..time.."\r\n\r\n"
            tline = tline + 1
         end
      end
   end
   readfrom()
user:SendData(Bot, tmp)
end      

function GetTime()
   s = date("%S")
   h = date("%H")
   m = date("%M")
   d = date("%d")
   mm = date("%m")
   y = date("%y")
   Date = "Date: "..d.."/"..mm.."/20"..y.." Hour: "..h..":"..m..":"..s
   return Date
end
Title:
Post by: [_XStaTiC_] on 27 December, 2004, 13:46:31
--Requested by D-J Valhala
--Made by nErBoS

Bot = "Toshi"
reltxt = "releases.txt" -- Wil be created in the script folder

function DataArrival(user, data)
if (strsub(data,1,1)=="<") or (strsub(data,1,5+strlen(Bot))=="$To: "..Bot) then
data=strsub(data,1,strlen(data)-1)
s,e,cmd = strfind(data,"%b<>%s+(%S+)")
if (cmd=="!write") then
AddRelease(user, data)
return 1
elseif (cmd=="!readfull") then
ShowRelease(user, data, "all")
return 1
elseif (cmd=="!read") then
ShowRelease(user, data, "last")
return 1
end
end
end

function AddRelease(user, data)
local s,e,rel,desc = strfind(data,"%b<>%s+%S+%s+(%S+)%s+(.*)")
local tmp = ""
if (rel == nil or rel == "" or desc == nil or desc == "") then
user:SendData(Bot, "Syntax Error, !write , must have a release name and description.")
else
if (readfrom(reltxt) == nil) then
writeto(reltxt)
write("\r\n"..rel.."$"..desc.."$"..user.sName.."$"..GetTime().."|")
writeto()
else
readfrom(reltxt)
while 1 do
local line = read()
if (line == "") then
tmp = tmp.."\r\n"..rel.."$"..desc.."$"..user.sName.."$"..GetTime().."|"
elseif(line == nil) then
break
else
tmp = tmp.."\r\n"..line
end
end
readfrom()
writeto(reltxt)
write(tmp)
writeto()
end
SendToAll(Bot, "New Release has been added by "..user.sName.."... Type !read to see the release list.")
user:SendData(Bot, "Your Release as been added to our list, thank you.")
end
end

function ShowRelease(user, data, type)
local tmp = ""
local tline = 0
if (type == "last") then
tmp = tmp.."Our List of teh last 30 Releases: \r\n\r\n"
else
tmp = tmp.."Our List of Releases: \r\n\r\n"
end
readfrom(reltxt)
while 1 do
local line = read()
if (type == "last") then
if (tline == 4) then
break
end
end
if (line == nil) then
break
else
local s,e,rel,desc,who,time = strfind(line, "(.*)$(.*)$(.*)$(.*)|")
if (rel ~= nil) then
tmp = tmp.."Release Name: "..rel.."\r\n"
tmp = tmp.."Description: "..desc.."\r\n"
tmp = tmp.."Posted by: "..who.."\r\n"
tmp = tmp.."Post Time: "..time.."\r\n\r\n"
tline = tline + 1
end
end
end
readfrom()
user:SendPM(Bot, tmp) -- make it send to pm
end

function GetTime()
s = date("%S")
h = date("%H")
m = date("%M")
d = date("%d")
mm = date("%m")
y = date("%y")
Date = "Date: "..d.."/"..mm.."/20"..y.." Hour: "..h..":"..m..":"..s
return Date
end
Title: 10x
Post by: krayzie_t17 on 27 December, 2004, 14:36:08
10x for that quick response ..the bit works fine  :D