Making a concommand to a specific player

So I am trying to make this command to change this PlayerData to gold but I keep on getting this error. Here is my code,command and the error.

[TABLE]

  function FindPlayer(info)

          local pls = player.GetAll()

   

          -- Find by Index Number (status in console)

          for k, v in pairs(pls) do

                  if tonumber(info) == v:UserID() then

                          return v

                  end

          end

   

          -- Find by Partial Nick

          for k, v in pairs(pls) do

                  if string.find(string.lower(v:Name()), string.lower(tostring(info))) ~= nil then

                          return v

                  end

          end

          return nil

  end

[\TABLE]

This is the con command

[TABLE]
local function SetBronze( ply, cmd, args )
local Who = ply:Name()
if not ply:IsSuperAdmin() then
ply:ChatPrint(“You cannot run this command!”)
return
end

local target = FindPlayer(args[1])

if target then
    local nick = ""
	target:SetPData("DonatorLevel", "Bronze")
	ply:ChatPrint("You have set this player to gold rank")
	
else end

end
concommand.Add(“Set_Bronze_level”, SetBronze)
[\TABLE]

when I run the command I get the following error

Darren.Splash
[@gamemodes\zombiehorde\gamemode\server\donator_meta.lua:33] malformed pattern (missing ‘]’)
D

[lua]function FindPlayer(info)
local pls = player.GetAll()
– Find by Index Number (status in console)

for k, v in pairs(pls) do
	if tonumber(info) and tonumber(info) == v:UserID() then
		return v
	end
end

-- Find by Partial Nick

for k, v in pairs(pls) do
	if string.find(string.lower(v:Name()), string.lower(tostring(info))) then
		return v
	end
end
return nil

end

local function SetBronze( ply, cmd, args )
local Who = ply:Name()
if not ply:IsSuperAdmin() then
ply:ChatPrint(“You cannot run this command!”)
return
end

local target = FindPlayer(args[1])

if target then
	local nick = ""
	target:SetPData("DonatorLevel", "Bronze")
	ply:ChatPrint("You have set this player to gold rank")
end

end
concommand.Add(“Set_Bronze_level”, SetBronze)[/lua]

Please use Lua tags.

on my format , line 33 would be

[lua]
if string.find(string.lower(v:Name()), string.lower(tostring(info))) ~= nil then
[/lua]

I found the problem with this string.find . In my name I have regex symbols like + ] [ % $ . The string.find isn’t working properly with regex symbols so the concommand works with bot03 it made a player bronze. Anyone got an idea on how to fix the string.find so it works with regex symbols?

string.find (s, pattern [, init [, plain]])
That’s what the fourth argument, plain, is for. Pass it true and it will ignore patterns.

[lua]if v:Name():lower():find( tostring(info):lower(), 0, true ) ~= nil then[/lua]

Thank you very much!