initial attempt at limiting to guilds
This commit is contained in:
parent
a698450c1e
commit
4bfe6e2aec
@ -1,6 +1,6 @@
|
|||||||
use discord;
|
use discord;
|
||||||
use discord::Discord;
|
use discord::Discord;
|
||||||
use discord::model::{Event, PossibleServer};
|
use discord::model::{Event, PossibleServer, ChannelId};
|
||||||
|
|
||||||
use modules::EventLoop;
|
use modules::EventLoop;
|
||||||
|
|
||||||
@ -133,6 +133,9 @@ impl EventLoop for DiscordModule {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
let mut known_guild_ids: Vec<String> = vec![];
|
||||||
|
let mut known_channel_ids: Vec<ChannelId> = vec![];
|
||||||
|
|
||||||
loop {
|
loop {
|
||||||
let event = connection.recv_event();
|
let event = connection.recv_event();
|
||||||
debug!("Received event: {:?}", event);
|
debug!("Received event: {:?}", event);
|
||||||
@ -141,8 +144,15 @@ impl EventLoop for DiscordModule {
|
|||||||
Ok(Event::ServerCreate(server)) => {
|
Ok(Event::ServerCreate(server)) => {
|
||||||
match server {
|
match server {
|
||||||
PossibleServer::Online(server) => {
|
PossibleServer::Online(server) => {
|
||||||
info!("Joined server: {}", server.name);
|
let guild_id_as_string = format!("{}", server.id);
|
||||||
|
if !(self.guilds.is_empty() || self.guilds.contains(&guild_id_as_string)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
known_guild_ids.push(guild_id_as_string);
|
||||||
|
info!("Joined guild: {} (id {})", server.name, server.id);
|
||||||
for channel in server.channels {
|
for channel in server.channels {
|
||||||
|
known_channel_ids.push(channel.id);
|
||||||
info!(" - Joined channel: {}", channel.name);
|
info!(" - Joined channel: {}", channel.name);
|
||||||
|
|
||||||
match sender.send(event::Event::SelfJoin {
|
match sender.send(event::Event::SelfJoin {
|
||||||
@ -157,6 +167,10 @@ impl EventLoop for DiscordModule {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
Ok(Event::MessageCreate(message)) => {
|
Ok(Event::MessageCreate(message)) => {
|
||||||
|
if !known_channel_ids.contains(&message.channel_id) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
let author = User {
|
let author = User {
|
||||||
name: message.author.name.clone(),
|
name: message.author.name.clone(),
|
||||||
sender: Box::new(DiscordMessageSender {
|
sender: Box::new(DiscordMessageSender {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user