feat: summarize rss messages to feishu group #1
@@ -1,8 +1,5 @@
|
|||||||
use crate::{config, models};
|
use crate::{config, models};
|
||||||
|
use crate::models::feishu::FeishuClient;
|
||||||
pub struct FeishuClient {
|
|
||||||
pub client: open_lark::prelude::LarkClient,
|
|
||||||
}
|
|
||||||
|
|
||||||
impl FeishuClient {
|
impl FeishuClient {
|
||||||
pub fn new() -> Result<Self, Box<dyn std::error::Error>> {
|
pub fn new() -> Result<Self, Box<dyn std::error::Error>> {
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
use crate::api;
|
use crate::api;
|
||||||
use crate::config;
|
|
||||||
use crate::models;
|
use crate::models;
|
||||||
use std::error::Error;
|
use std::error::Error;
|
||||||
|
use crate::config::Config;
|
||||||
|
|
||||||
pub async fn summarize_rss() -> Result<Vec<models::summary::Summary>, Box<dyn Error>> {
|
pub async fn summarize_rss() -> Result<Vec<models::summary::Summary>, Box<dyn Error>> {
|
||||||
let config = config::Config::build()?;
|
let config = Config::build()?;
|
||||||
|
|
||||||
let mut summary_list: Vec<models::summary::Summary> = Vec::new();
|
let mut summary_list: Vec<models::summary::Summary> = Vec::new();
|
||||||
let token = &config.token;
|
let token = &config.token;
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ mod models;
|
|||||||
#[tokio::main]
|
#[tokio::main]
|
||||||
async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||||
let summary_list = controls::summary::summarize_rss().await?;
|
let summary_list = controls::summary::summarize_rss().await?;
|
||||||
let app = controls::feishu::FeishuClient::new()?;
|
let app = models::feishu::FeishuClient::new()?;
|
||||||
|
|
||||||
for summary in summary_list {
|
for summary in summary_list {
|
||||||
app.send_message(&summary.name).await?;
|
app.send_message(&summary.name).await?;
|
||||||
|
|||||||
@@ -2,3 +2,7 @@
|
|||||||
pub struct MessageContent {
|
pub struct MessageContent {
|
||||||
pub text: String,
|
pub text: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub struct FeishuClient {
|
||||||
|
pub client: open_lark::prelude::LarkClient,
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user