mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-09 16:02:21 +00:00
[Code] DiscordManager Global to Singleton Cleanup
This commit is contained in:
parent
f8ee664b27
commit
035b24c9eb
@ -13,6 +13,11 @@ public:
|
||||
void QueueWebhookMessage(uint32 webhook_id, const std::string& message);
|
||||
void ProcessMessageQueue();
|
||||
void QueuePlayerEventMessage(const PlayerEvent::PlayerEventContainer& e);
|
||||
|
||||
static DiscordManager* Instance() {
|
||||
static DiscordManager instance;
|
||||
return &instance;
|
||||
}
|
||||
private:
|
||||
std::mutex webhook_queue_lock{};
|
||||
std::map<uint32, std::vector<std::string>> webhook_message_queue{};
|
||||
|
||||
@ -20,7 +20,6 @@
|
||||
#include "../common/net/console_server.h"
|
||||
#include "../queryserv/zonelist.h"
|
||||
#include "../queryserv/zoneserver.h"
|
||||
#include "../common/discord/discord_manager.h"
|
||||
|
||||
volatile bool RunLoops = true;
|
||||
|
||||
@ -35,7 +34,6 @@ ZoneStore zone_store;
|
||||
PlayerEventLogs player_event_logs;
|
||||
ZSList zs_list;
|
||||
uint32 numzones = 0;
|
||||
DiscordManager discord_manager;
|
||||
|
||||
void CatchSignal(int sig_num)
|
||||
{
|
||||
|
||||
@ -5,8 +5,6 @@
|
||||
#include "../common/events/player_event_logs.h"
|
||||
#include "../common/discord/discord_manager.h"
|
||||
|
||||
extern DiscordManager discord_manager;
|
||||
|
||||
ZoneServer::ZoneServer(
|
||||
std::shared_ptr<EQ::Net::ServertalkServerConnection> in_connection,
|
||||
EQ::Net::ConsoleServer *in_console
|
||||
@ -37,7 +35,7 @@ void ZoneServer::HandleMessage(uint16 opcode, const EQ::Net::Packet &p)
|
||||
|
||||
player_event_logs.AddToQueue(n.player_event_log);
|
||||
|
||||
discord_manager.QueuePlayerEventMessage(n);
|
||||
DiscordManager::Instance()->QueuePlayerEventMessage(n);
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
|
||||
@ -47,7 +47,6 @@ Clientlist *g_Clientlist;
|
||||
EQEmuLogSys LogSys;
|
||||
UCSDatabase database;
|
||||
WorldServer *worldserver = nullptr;
|
||||
DiscordManager discord_manager;
|
||||
ZoneStore zone_store;
|
||||
PlayerEventLogs player_event_logs;
|
||||
|
||||
@ -96,7 +95,7 @@ void CatchSignal(int sig_num) {
|
||||
|
||||
void PlayerEventQueueListener() {
|
||||
while (caught_loop == 0) {
|
||||
discord_manager.ProcessMessageQueue();
|
||||
DiscordManager::Instance()->ProcessMessageQueue();
|
||||
Sleep(100);
|
||||
}
|
||||
}
|
||||
|
||||
@ -42,7 +42,6 @@ extern WorldServer worldserver;
|
||||
extern Clientlist *g_Clientlist;
|
||||
extern const ucsconfig *Config;
|
||||
extern UCSDatabase database;
|
||||
extern DiscordManager discord_manager;
|
||||
|
||||
void ProcessMailTo(Client *c, const std::string& from, const std::string& subject, const std::string& message);
|
||||
|
||||
@ -92,14 +91,14 @@ void WorldServer::ProcessMessage(uint16 opcode, EQ::Net::Packet &p)
|
||||
cereal::BinaryInputArchive archive(ss);
|
||||
archive(n);
|
||||
|
||||
discord_manager.QueuePlayerEventMessage(n);
|
||||
DiscordManager::Instance()->QueuePlayerEventMessage(n);
|
||||
|
||||
break;
|
||||
}
|
||||
case ServerOP_DiscordWebhookMessage: {
|
||||
auto *q = (DiscordWebhookMessage_Struct *) p.Data();
|
||||
|
||||
discord_manager.QueueWebhookMessage(
|
||||
DiscordManager::Instance()->QueueWebhookMessage(
|
||||
q->webhook_id,
|
||||
q->message
|
||||
);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user