gui can receive packet from the bot
This commit is contained in:
parent
d11305b039
commit
886e29e72d
|
@ -44,7 +44,7 @@ impl EventHandler for Handler {
|
|||
}
|
||||
|
||||
if let Some(sender) = context.data.read().await.get::<postman::Sender>() {
|
||||
let message = postman::Message::new(postman::MessageType::GuildName, guild_names[0].clone());
|
||||
let message = postman::Packet::new(postman::PacketKind::GuildName, guild_names[0].clone());
|
||||
sender.send(message).unwrap();
|
||||
println!("Message from bot to gui, sent");
|
||||
} else {
|
||||
|
@ -53,7 +53,7 @@ impl EventHandler for Handler {
|
|||
}
|
||||
}
|
||||
|
||||
pub async fn start_discord_bot(sender: mpsc::Sender<postman::Message>) {
|
||||
pub async fn start_discord_bot(sender: mpsc::Sender<postman::Packet>) {
|
||||
println!("Bot connection process started...");
|
||||
let maybe_client = Client::builder(token::TOKEN)
|
||||
.event_handler(Handler)
|
||||
|
|
12
src/main.rs
12
src/main.rs
|
@ -9,7 +9,7 @@ mod postman;
|
|||
const MAX_FPS: f32 = 30.0;
|
||||
|
||||
fn main() {
|
||||
let (tx, rx) = mpsc::channel::<postman::Message>(); //tx transmiter
|
||||
let (tx, rx) = mpsc::channel::<postman::Packet>(); //tx transmiter
|
||||
|
||||
let _handle = thread::spawn(move || {
|
||||
println!("Bot thread spawned");
|
||||
|
@ -21,7 +21,7 @@ fn main() {
|
|||
gui(rx);
|
||||
}
|
||||
|
||||
fn gui(receiver: mpsc::Receiver<postman::Message>) {
|
||||
fn gui(receiver: mpsc::Receiver<postman::Packet>) {
|
||||
let icon_data = load_icon().unwrap_or_default();
|
||||
|
||||
let options = eframe::NativeOptions {
|
||||
|
@ -36,11 +36,11 @@ fn gui(receiver: mpsc::Receiver<postman::Message>) {
|
|||
|
||||
struct Jiji {
|
||||
next_frame: time::Instant,
|
||||
receiver: mpsc::Receiver<postman::Message>,
|
||||
receiver: mpsc::Receiver<postman::Packet>,
|
||||
}
|
||||
|
||||
impl Jiji {
|
||||
fn new(receiver: mpsc::Receiver<postman::Message>) -> Self {
|
||||
fn new(receiver: mpsc::Receiver<postman::Packet>) -> Self {
|
||||
Self {
|
||||
next_frame: time::Instant::now(),
|
||||
receiver,
|
||||
|
@ -55,6 +55,10 @@ impl eframe::App for Jiji {
|
|||
));
|
||||
self.next_frame = time::Instant::now();
|
||||
|
||||
while let Ok(packet) = self.receiver.try_recv() {
|
||||
println!("Message from bot to gui received : {}", packet.content);
|
||||
}
|
||||
|
||||
self.draw_feed(ctx);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
use std::sync::mpsc;
|
||||
use serenity::prelude::TypeMapKey;
|
||||
|
||||
pub struct Message {
|
||||
kind: MessageType,
|
||||
content: String,
|
||||
pub struct Packet {
|
||||
pub kind: PacketKind,
|
||||
pub content: String,
|
||||
}
|
||||
|
||||
impl Message {
|
||||
pub fn new(kind : MessageType, content: String) -> Self {
|
||||
impl Packet {
|
||||
pub fn new(kind : PacketKind, content: String) -> Self {
|
||||
Self {
|
||||
kind,
|
||||
content,
|
||||
|
@ -16,12 +16,12 @@ impl Message {
|
|||
}
|
||||
|
||||
|
||||
pub enum MessageType {
|
||||
pub enum PacketKind {
|
||||
GuildName,
|
||||
}
|
||||
|
||||
pub struct Sender;
|
||||
|
||||
impl TypeMapKey for Sender {
|
||||
type Value = mpsc::Sender<Message>;
|
||||
type Value = mpsc::Sender<Packet>;
|
||||
}
|
18
src/tree.rs
Normal file
18
src/tree.rs
Normal file
|
@ -0,0 +1,18 @@
|
|||
|
||||
struct Guild {
|
||||
name: String,
|
||||
id: String,
|
||||
channels: Vec<Channel>,
|
||||
}
|
||||
|
||||
struct Channel {
|
||||
name: String,
|
||||
id: String,
|
||||
messages: Vec<Message>,
|
||||
}
|
||||
|
||||
struct Message {
|
||||
author: String,
|
||||
id: String,
|
||||
content: String,
|
||||
}
|
Loading…
Reference in a new issue