Compare commits
3 Commits
f57fc8d22b
...
381560eef8
| Author | SHA1 | Date | |
|---|---|---|---|
| 381560eef8 | |||
| 001b6f660c | |||
| 6f243e3485 |
16
src/grpc.rs
16
src/grpc.rs
@@ -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() {
|
||||
|
||||
15
src/main.rs
15
src/main.rs
@@ -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?;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user