Compare commits

..

3 Commits

Author SHA1 Message Date
381560eef8 remove useless import 2026-04-13 10:49:52 +02:00
001b6f660c feat: construct request function
wow a helper function
changed get_live_id to private
2026-04-13 10:49:01 +02:00
6f243e3485 move request construction to grpc.rs 2026-04-13 10:46:57 +02:00
2 changed files with 18 additions and 13 deletions

View File

@@ -1,12 +1,13 @@
use std::process::Command;
use tonic::{metadata::MetadataValue, Request, Status};
use stream_list::{v3_data_live_chat_message_service_client::V3DataLiveChatMessageServiceClient, LiveChatMessageListRequest};
use tonic::{metadata::MetadataValue, service::interceptor::InterceptedService, transport::Channel, Request, Status};
pub mod stream_list {
tonic::include_proto!("youtube.api.v3");
}
pub fn get_live_id(channel: String) -> String {
fn get_live_id(channel: String) -> String {
let video_id = Command::new("./get_url.sh")
.arg(channel)
.output()
@@ -25,6 +26,17 @@ pub fn auth_header(mut req: Request<()>) -> Result<Request<()>, Status> {
.expect("WHAT");
Ok(req)
}
pub fn construct_request(channel: String) -> Request<LiveChatMessageListRequest>{
let request = Request::new(LiveChatMessageListRequest {
part: vec!["snippet".to_string()],
live_chat_id: Some(get_live_id(channel)),
max_results: Some(20),
page_token: None,
hl: None,
profile_image_size: None,
});
request
}
#[test]
fn test_get_live_id() {

View File

@@ -1,8 +1,8 @@
use tonic::{Request, transport::Channel};
use tonic::{transport::Channel};
use grpc::stream_list::{
v3_data_live_chat_message_service_client::V3DataLiveChatMessageServiceClient, LiveChatMessageListRequest
v3_data_live_chat_message_service_client::V3DataLiveChatMessageServiceClient
};
use grpc::{auth_header, get_live_id};
use grpc::{auth_header, construct_request};
mod grpc;
#[tokio::main]
@@ -12,14 +12,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
.await?;
let mut client = V3DataLiveChatMessageServiceClient::with_interceptor(channel, auth_header);
let request = Request::new(LiveChatMessageListRequest {
part: vec!["snippet".to_string()],
live_chat_id: Some(get_live_id(String::from("linlyboi"))),
max_results: Some(20),
page_token: None,
hl: None,
profile_image_size: None,
});
let request = construct_request(String::from("linlyboi"));
let response = client.stream_list(request).await?;