# frozen_string_literal: true
module ESM
module Regex
COMMUNITY_ID_OPTIONAL = /\S*/i
COMMUNITY_ID = /\S+/i
DISCORD_TAG = /<@[&!]?\d+>/
DISCORD_TAG_ONLY = /^#{DISCORD_TAG.source}$/
DISCORD_ID = /[^0]\d{17,}/
DISCORD_ID_ONLY = /^#{DISCORD_ID.source}$/
STEAM_UID = /7656\d+/
STEAM_UID_ONLY = /^#{STEAM_UID.source}$/
TARGET = /#{DISCORD_TAG.source}|#{DISCORD_ID.source}|#{STEAM_UID.source}/
SERVER_ID_OPTIONAL_COMMUNITY = /(?:\S+_)?\S+/
SERVER_ID = /\S+_\S+/
SERVER_ID_ONLY = /^#{SERVER_ID.source}$/
TERRITORY_ID = /\w+/
TERRITORY_ID_ONLY = /^#{TERRITORY_ID.source}$/
FLAG_NAME = /(flag_.*)\.paa/
BROADCAST = /#{SERVER_ID_OPTIONAL_COMMUNITY.source}|all|preview/
HEX_COLOR = /^\#[a-fA-F0-9]{6}$/
TARGET_OR_TERRITORY_ID = /#{TARGET.source}|#{TERRITORY_ID.source}/
REWARD_ID = /\S+/
REWARD_ID_ONLY = /^#{REWARD_ID.source}$/
# Log Parsing
LOG_TIMESTAMP = /\[(?<time>\d{2}:\d{2}:\d{2}):\d{6} (?<zone>[-+]?\d{2}:\d{2})\] \[thread \d+\] /i
end
end