yank from tiktok

This commit is contained in:
Adam R. Grey 2021-08-29 00:21:09 -04:00
parent b32d7398c8
commit da0c9eb48a
3 changed files with 46 additions and 14 deletions

View File

@ -40,7 +40,8 @@ namespace silverworker_discord
await _client.StartAsync(); await _client.StartAsync();
_client.Ready += () => Task.Run(() =>{ _client.Ready += () => Task.Run(() =>
{
Console.WriteLine("Bot is connected! going to sign up for message received and user joined in client ready"); Console.WriteLine("Bot is connected! going to sign up for message received and user joined in client ready");
botChatterChannel = _client.GetChannel(ulong.Parse(config["botChatterChannel"])) as ISocketMessageChannel; botChatterChannel = _client.GetChannel(ulong.Parse(config["botChatterChannel"])) as ISocketMessageChannel;
announcementChannel = _client.GetChannel(ulong.Parse(config["announcementChannel"])) as ISocketMessageChannel; announcementChannel = _client.GetChannel(ulong.Parse(config["announcementChannel"])) as ISocketMessageChannel;
@ -82,7 +83,8 @@ namespace silverworker_discord
Console.WriteLine($"user: {redeemer} redeems {rewardName}, text data? {textData}"); Console.WriteLine($"user: {redeemer} redeems {rewardName}, text data? {textData}");
var redemptionSerialized = Encoding.ASCII.GetBytes( var redemptionSerialized = Encoding.ASCII.GetBytes(
JsonConvert.SerializeObject(new { JsonConvert.SerializeObject(new
{
redeemer = redeemer, redeemer = redeemer,
rewardName = rewardName, rewardName = rewardName,
textData = textData textData = textData
@ -101,7 +103,6 @@ namespace silverworker_discord
} }
else else
{ {
if (message.Channel.Id == botChatterChannel.Id) if (message.Channel.Id == botChatterChannel.Id)
{ {
if (message.Attachments?.Count > 0) if (message.Attachments?.Count > 0)
@ -114,13 +115,42 @@ namespace silverworker_discord
} }
} }
} }
else
{
//any channel, from a user
var wordLikes = message.Content.Split(' ', StringSplitOptions.TrimEntries);
Console.WriteLine($"{wordLikes.Count()} word-like things");
var links = wordLikes?.Where(wl => Uri.IsWellFormedUriString(wl, UriKind.Absolute)).Select(wl => new Uri(wl));
if (links != null && links.Count() > 0)
{
foreach (var link in links)
{
if (link.Host == "vm.tiktok.com")
{
detiktokify(link, message.Channel);
} }
} }
}
}
}
}
private async void detiktokify(Uri link, ISocketMessageChannel channel)
{
var ytdl = new YoutubeDLSharp.YoutubeDL();
ytdl.YoutubeDLPath = config["ytdl"];
ytdl.FFmpegPath = "ffmpeg";
ytdl.OutputFolder = "./";
var res = await ytdl.RunVideoDownload(link.ToString());
string path = res.Data;
await channel.SendFileAsync(path);
File.Delete(path);
}
private Task UserJoined(SocketGuildUser arg) private Task UserJoined(SocketGuildUser arg)
{ {
Console.WriteLine($"user joined: {arg.Nickname}. Guid: {arg.Guild.Id}. Channel: {arg.Guild.DefaultChannel}"); Console.WriteLine($"user joined: {arg.Nickname}. Guid: {arg.Guild.Id}. Channel: {arg.Guild.DefaultChannel}");
var abbreviatedNickname = arg.Nickname; var abbreviatedNickname = arg.Nickname;
if(arg.Nickname.Length > 3){ if (arg.Nickname.Length > 3)
{
abbreviatedNickname = arg.Nickname.Substring(0, arg.Nickname.Length / 3); abbreviatedNickname = arg.Nickname.Substring(0, arg.Nickname.Length / 3);
} }
Console.WriteLine($"imma call him {abbreviatedNickname}"); Console.WriteLine($"imma call him {abbreviatedNickname}");

View File

@ -1,5 +1,6 @@
{ {
"token": "59 chars", "token": "59 chars",
"botChatterChannel": 0, "botChatterChannel": 0,
"announcementChannel": 0 "announcementChannel": 0,
"ytdl": "youtube-dl"
} }

View File

@ -11,6 +11,7 @@
<PackageReference Include="Microsoft.Extensions.Configuration" Version="5.0.0" /> <PackageReference Include="Microsoft.Extensions.Configuration" Version="5.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="5.0.0" /> <PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="5.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="5.0.0" /> <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="5.0.0" />
<PackageReference Include="youtubedlsharp" Version="0.3.1" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>