droplet
1.3.0
A multipurpose Discord bot with the hacker in mind
Toggle main menu visibility
Loading...
Searching...
No Matches
YoutubeNotificationService.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <dpp/cluster.h>
4
#include <dpp/timer.h>
5
6
#include <mutex>
7
#include <optional>
8
#include <string>
9
#include <unordered_map>
10
11
#include "
LatestEventsRepository.hpp
"
12
13
class
DatabaseExecutor
;
14
15
[[nodiscard]] std::optional<std::string>
resolve_youtube_channel
(
const
std::string& input);
16
17
class
YoutubeNotificationService
{
18
public
:
19
YoutubeNotificationService
(dpp::cluster& discord,
DatabaseExecutor
& db);
20
21
void
start_job
(std::size_t channel_id,
22
const
std::string& youtube_id,
23
const
std::string& message,
24
std::size_t timestep_sec = 500);
25
void
stop_job
(
const
std::string& key);
26
void
load_from_database
();
27
void
stop_all
();
28
29
private
:
30
dpp::cluster& discord_;
31
DatabaseExecutor
& db_;
32
LatestEventsRepository
events_;
33
std::mutex mutex_;
34
std::unordered_map<std::string, dpp::timer> timers_;
35
};
LatestEventsRepository.hpp
resolve_youtube_channel
std::optional< std::string > resolve_youtube_channel(const std::string &input)
Definition
YoutubeNotificationService.cpp:63
DatabaseExecutor
Definition
DatabaseExecutor.hpp:14
LatestEventsRepository
Definition
LatestEventsRepository.hpp:24
YoutubeNotificationService::load_from_database
void load_from_database()
Definition
YoutubeNotificationService.cpp:163
YoutubeNotificationService::stop_job
void stop_job(const std::string &key)
Definition
YoutubeNotificationService.cpp:150
YoutubeNotificationService::stop_all
void stop_all()
Definition
YoutubeNotificationService.cpp:176
YoutubeNotificationService::YoutubeNotificationService
YoutubeNotificationService(dpp::cluster &discord, DatabaseExecutor &db)
Definition
YoutubeNotificationService.cpp:67
YoutubeNotificationService::start_job
void start_job(std::size_t channel_id, const std::string &youtube_id, const std::string &message, std::size_t timestep_sec=500)
Definition
YoutubeNotificationService.cpp:71
src
bot_library
commands
notification
YoutubeNotificationService.hpp
Generated by
1.18.0