mirror of
https://gitlab.com/Kwoth/nadekobot.git
synced 2025-09-10 17:28:27 -04:00
Added .youtubeuploadnotif / .yun as a shortcut to a subscribing channel's rss feed
This commit is contained in:
@@ -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
|
||||||
|
|
||||||
|
@@ -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)]
|
||||||
|
@@ -1140,6 +1140,9 @@ autobutts:
|
|||||||
eightball:
|
eightball:
|
||||||
- eightball
|
- eightball
|
||||||
- 8ball
|
- 8ball
|
||||||
|
ytuploadnotif:
|
||||||
|
- ytuploadnotif
|
||||||
|
- yun
|
||||||
feed:
|
feed:
|
||||||
- feed
|
- feed
|
||||||
- feedadd
|
- feedadd
|
||||||
|
@@ -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:
|
||||||
|
Reference in New Issue
Block a user