summaryrefslogtreecommitdiff
path: root/src/notifications/notifications.hpp
blob: 8de2c6e90b0ec57e17c5a7149dd9e3a3de59691d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#pragma once

#include <map>
#include <vector>

#include "discord/snowflake.hpp"
#include "notifier.hpp"

class Message;

class Notifications {
public:
    Notifications();

    void CheckMessage(const Message &message);
    void WithdrawChannel(Snowflake channel_id);

private:
    void NotifyMessageDM(const Message &message);
    void NotifyMessageGuild(const Message &message);

    [[nodiscard]] bool IsDND() const;

    Notifier m_notifier;
    std::map<Snowflake, std::vector<Snowflake>> m_chan_notifications;
};