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