Added .youtubeuploadnotif / .yun as a shortcut to a subscribing channel's rss feed

This commit is contained in:
Kwoth
2021-09-14 01:09:31 +02:00
parent cea944cdb8
commit 711d6c7caa
4 changed files with 30 additions and 0 deletions

View File

@@ -7,6 +7,7 @@ Experimental changelog. Mostly based on [keepachangelog](https://keepachangelog.
### Added ### Added
- Added `.massban` to ban multiple people at once. 30 second cooldown - Added `.massban` to ban multiple people at once. 30 second cooldown
- Added `.youtubeuploadnotif` / `.yun` as a shortcut to a subscribing channel's rss feed
### Changed ### Changed

View File

@@ -5,6 +5,7 @@ using NadekoBot.Extensions;
using NadekoBot.Modules.Searches.Services; using NadekoBot.Modules.Searches.Services;
using System; using System;
using System.Linq; using System.Linq;
using System.Text.RegularExpressions;
using System.Threading.Tasks; using System.Threading.Tasks;
using Serilog; using Serilog;
@@ -15,6 +16,25 @@ namespace NadekoBot.Modules.Searches
[Group] [Group]
public class FeedCommands : NadekoSubmodule<FeedsService> public class FeedCommands : NadekoSubmodule<FeedsService>
{ {
private static readonly Regex YtChannelRegex =
new Regex(@"youtube\.com\/(?:c\/|channel\/|user\/)?(?<channelid>[a-zA-Z0-9\-]{1,})");
[NadekoCommand, Aliases]
[RequireContext(ContextType.Guild)]
[UserPerm(GuildPerm.ManageMessages)]
public Task YtUploadNotif(string url, [Leftover] ITextChannel channel = null)
{
var m = YtChannelRegex.Match(url);
if (!m.Success)
{
return ReplyErrorLocalizedAsync(strs.invalid_input);
}
var channelId = m.Groups["channelid"].Value;
return Feed("https://www.youtube.com/feeds/videos.xml?channel_id=" + channelId, channel);
}
[NadekoCommand, Aliases] [NadekoCommand, Aliases]
[RequireContext(ContextType.Guild)] [RequireContext(ContextType.Guild)]
[UserPerm(GuildPerm.ManageMessages)] [UserPerm(GuildPerm.ManageMessages)]

View File

@@ -1140,6 +1140,9 @@ autobutts:
eightball: eightball:
- eightball - eightball
- 8ball - 8ball
ytuploadnotif:
- ytuploadnotif
- yun
feed: feed:
- feed - feed
- feedadd - feedadd

View File

@@ -1912,6 +1912,12 @@ eightball:
desc: "Ask the 8ball a yes/no question." desc: "Ask the 8ball a yes/no question."
args: args:
- "Is b1nzy a nice guy?" - "Is b1nzy a nice guy?"
youtubeuploadnotif:
desc: |-
Subscribe to a youtube channel's upload rss feed.
Shortcut for `.feed https://www.youtube.com/feeds/videos.xml?channel_id=%3Cyoutube_channel_id`
args:
- "https://www.youtube.com/channel/UCSJ4gkVC6NrvII8umztf0Ow"
feed: feed:
desc: "Subscribes to a feed. Bot will post an update up to once every 10 seconds. You can have up to 10 feeds on one server. All feeds must have unique URLs. Set a channel as a second optional parameter to specify where to send the updates." desc: "Subscribes to a feed. Bot will post an update up to once every 10 seconds. You can have up to 10 feeds on one server. All feeds must have unique URLs. Set a channel as a second optional parameter to specify where to send the updates."
args: args: