Changed to use Proxitok
Some checks reported errors
continuous-integration/drone/push Build was killed
Some checks reported errors
continuous-integration/drone/push Build was killed
This commit is contained in:
parent
a6c7f1ef2a
commit
46fcc45931
25
Program.cs
25
Program.cs
@ -10,17 +10,18 @@ using Telegram.Bot.Types.Enums;
|
||||
|
||||
namespace TeleTok
|
||||
{
|
||||
class TeleTok
|
||||
public class TeleTok
|
||||
{
|
||||
public static IConfigurationRoot config = new ConfigurationBuilder()
|
||||
.SetBasePath(Directory.GetCurrentDirectory())
|
||||
.AddJsonFile("config.json", true)
|
||||
.Build();
|
||||
|
||||
public static string token = config.GetSection("TeleTokConf:token").Value;
|
||||
public static string ptInstance = config.GetSection("TeleTokConf:proxitokInstance").Value;
|
||||
|
||||
static async Task Main(string[] args)
|
||||
{
|
||||
var config = new ConfigurationBuilder()
|
||||
.SetBasePath(Directory.GetCurrentDirectory())
|
||||
.AddJsonFile("config.json", true)
|
||||
.Build();
|
||||
|
||||
var token = config.GetSection("TeleTokConf:token").Value;
|
||||
|
||||
var botClient = new TelegramBotClient(token);
|
||||
using var cts = new CancellationTokenSource();
|
||||
|
||||
@ -60,9 +61,8 @@ namespace TeleTok
|
||||
return;
|
||||
|
||||
var chatId = message.Chat.Id;
|
||||
var messageText = update.Message.Text;
|
||||
|
||||
string videoPath;
|
||||
string proxyUrl;
|
||||
|
||||
// Checks if the text contains a valid URL
|
||||
bool isUri = Uri.IsWellFormedUriString(messageText, UriKind.RelativeOrAbsolute);
|
||||
@ -72,12 +72,11 @@ namespace TeleTok
|
||||
{
|
||||
if(messageText.Contains("tiktok.com"))
|
||||
{
|
||||
videoPath = VidDownload.TikTokUrl(messageText);
|
||||
proxyUrl = VidDownload.TikTokURL(messageText);
|
||||
|
||||
Message ttVideo = await botClient.SendVideoAsync(
|
||||
chatId: chatId,
|
||||
videoPath: videoPath,
|
||||
supportsStreaming: true,
|
||||
video: proxyUrl,
|
||||
cancellationToken: cancellationToken
|
||||
);
|
||||
}
|
||||
|
@ -1,37 +1,29 @@
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.Net;
|
||||
|
||||
namespace TeleTok
|
||||
{
|
||||
public class VidDownload
|
||||
{
|
||||
static void TikTokURL(string videourl)
|
||||
// Takes the scraped TikTok URL and appends it to the proxy downloader link then returns it
|
||||
public string TikTokURL(string videourl)
|
||||
{
|
||||
string url = videourl;
|
||||
string proxyUrl;
|
||||
|
||||
if(url.Contains("vm.tiktok.com"))
|
||||
{
|
||||
url = UnshortenUrl(url);
|
||||
}
|
||||
|
||||
var proc = new Process
|
||||
{
|
||||
// Function downloads tiktok urls passed from the listener
|
||||
StartInfo = new ProcessStartInfo
|
||||
{
|
||||
FileName = "/bin/bash",
|
||||
Arguments = "-c \"tiktok-scraper --filepath /app/videos -d " + videourl + "\"",
|
||||
UseShellExecute = false,
|
||||
RedirectStandardOutput = true,
|
||||
CreateNoWindow = true
|
||||
}
|
||||
};
|
||||
|
||||
proc.Start();
|
||||
proc.WaitForExit();
|
||||
proxyUrl = TeleTok.ptInstance + "/download?url=" + url;
|
||||
|
||||
return proxyUrl;
|
||||
}
|
||||
|
||||
// Runs the URL through a web request then returns the full url
|
||||
// If the URL is already the full one, it won't really do anything but will catch shortened ones
|
||||
static string UnshortenUrl(string videourl)
|
||||
{
|
||||
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(videourl);
|
||||
|
Loading…
Reference in New Issue
Block a user