api - How can I check if my "variable" is a valid "ID" -


api: https://github.com/satom99/litcord

how can check valiable if valid id?

local cmd, serverid, channelid, arg = string.match(message.content, '(%s+) (%d+) (%d+) (%s+.*)')     local server = client.servers:get('id', serverid) 

serverid variable , need check if serverid valid id otherwise error server nil value.

i trying days finish 1 command , part of it. if need more contents please tell me, link you.

full code:

client:on(     'message',     function(message)       local userid = message.author.id       local cmd, serverid, channelid, arg = string.match(message.content, '(%s+) (%d+) (%d+) (%s+.*)')       local server = client.servers:get('id', serverid)       local channel = server.channels:get('id', channelid)       local cmd = cmd or message.content       if (cmd == "!say") , message.parent.is_private          if (userid == "187590758360940545")            if not server             return           end            if (server == servers)              if (channel == channels)               message.channel:sendmessage(arg)             else               message:reply("i don't know channel.")               return             end              message:reply("i don't know server.")            end          else           message:reply(":sob: stop!!!!")         end       end     end ) 

and how can let write in channel want functions message.channel:sendmessage(arg) message:reply replies message came from.

let's forget validating serverid 1 moment.

of course should handle case client.servers:get('id', serverid) returing nil.

simply validating serverid somehow , hoping valid server handle not option.

so either use luas error handling features https://www.lua.org/manual/5.3/manual.html#2.3

or check server if statement won't use server if nil.

simplified:

local server = client.servers:get('id', serverid) if not server   print("no server id '" .. serverid .. "' found.")   return -- or clever here, show message box or whatever... end -- server won't nil here 

unless know sure there no other way nil being returned should handle possibility properly.


Comments