feat: add poll from Mastodon to Twitter + pass owned values in post_tweet

This commit is contained in:
VC
2023-11-21 23:13:40 +01:00
parent f10baa3eb2
commit 3e6cae6136
5 changed files with 41 additions and 13 deletions

View File

@@ -18,7 +18,7 @@ use utils::{generate_multi_tweets, strip_everything};
mod twitter;
#[allow(unused_imports)]
use twitter::{generate_media_ids, post_tweet};
use twitter::{generate_media_ids, post_tweet, transform_poll};
use rusqlite::Connection;
@@ -57,17 +57,20 @@ pub async fn run(config: &Config) {
// if the toot is too long, we cut it in half here
if let Some((first_half, second_half)) = generate_multi_tweets(&tweet_content) {
tweet_content = second_half;
let reply_id = post_tweet(&config.twitter, &first_half, &[], &reply_to)
let reply_id = post_tweet(&config.twitter, first_half, vec![], reply_to, None)
.await
.unwrap_or_else(|e| panic!("Cannot post the first half of {}: {}", &toot.id, e));
reply_to = Some(reply_id);
};
// treats poll if any
let in_poll = toot.poll.map(|p| transform_poll(&p));
// treats medias
let medias = generate_media_ids(&config.twitter, &toot.media_attachments).await;
// posts corresponding tweet
let tweet_id = post_tweet(&config.twitter, &tweet_content, &medias, &reply_to)
let tweet_id = post_tweet(&config.twitter, tweet_content, medias, reply_to, in_poll)
.await
.unwrap_or_else(|e| panic!("Cannot Tweet {}: {}", toot.id, e));