Fix null guild and shutdown message
This commit is contained in:
@@ -240,7 +240,7 @@ public class BiscuitGuild {
|
||||
logger.error("Error retrieving Text Channel from YouTube feed file.");
|
||||
return null;
|
||||
}
|
||||
YTFeed feed = new YTFeed(alias, textChannel, youTubeChannelURL, message);
|
||||
YTFeed feed = new YTFeed(this, alias, textChannel, youTubeChannelURL, message);
|
||||
feed.setLastVideo(lastVideo);
|
||||
feed.setLastVideoTimestamp(lastVideoTimestamp);
|
||||
return new YTFeedConfig(this, feed);
|
||||
@@ -260,7 +260,7 @@ public class BiscuitGuild {
|
||||
if(guild == null || ytfeeds.containsKey(alias)) {
|
||||
return false;
|
||||
}
|
||||
YTFeed feed = new YTFeed(alias, channel, channelURL, message);
|
||||
YTFeed feed = new YTFeed(this, alias, channel, channelURL, message);
|
||||
|
||||
String lastURL =feed.getEntries().getLast().getURL();
|
||||
feed.setLastVideo(lastURL);
|
||||
|
||||
@@ -2,60 +2,80 @@ package com.fpghoti.biscuit.plugin;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
import org.pf4j.DefaultPluginManager;
|
||||
import org.pf4j.PluginManager;
|
||||
import org.pf4j.PluginWrapper;
|
||||
|
||||
public class PluginController implements Iterable<BiscuitPlugin>{
|
||||
public class PluginController implements Iterable<BiscuitPlugin> {
|
||||
|
||||
private PluginManager pluginManager;
|
||||
private ArrayList<BiscuitPlugin> plugins;
|
||||
|
||||
public PluginController() {
|
||||
pluginManager = new DefaultPluginManager();
|
||||
plugins = new ArrayList<BiscuitPlugin>();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterator<BiscuitPlugin> iterator() {
|
||||
return new ArrayList<BiscuitPlugin>(plugins).iterator();
|
||||
}
|
||||
|
||||
public void registerPlugin(BiscuitPlugin plugin) {
|
||||
if(!contains(plugin)) {
|
||||
plugins.add(plugin);
|
||||
}
|
||||
}
|
||||
|
||||
public void loadPlugins() {
|
||||
pluginManager.loadPlugins();
|
||||
}
|
||||
|
||||
public void startPlugins() {
|
||||
pluginManager.startPlugins();
|
||||
}
|
||||
|
||||
public void stopPlugins() {
|
||||
pluginManager.stopPlugins();
|
||||
}
|
||||
|
||||
public void unloadPlugins() {
|
||||
pluginManager.unloadPlugins();
|
||||
}
|
||||
|
||||
public void shutdownPlugins() {
|
||||
stopPlugins();
|
||||
unloadPlugins();
|
||||
plugins.clear();
|
||||
}
|
||||
|
||||
public boolean contains(BiscuitPlugin plugin) {
|
||||
for(BiscuitPlugin pl : plugins) {
|
||||
if(plugin.getID().equals(pl.getID())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
private PluginManager pluginManager;
|
||||
private ArrayList<BiscuitPlugin> plugins;
|
||||
|
||||
public PluginController() {
|
||||
pluginManager = new DefaultPluginManager();
|
||||
plugins = new ArrayList<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterator<BiscuitPlugin> iterator() {
|
||||
return new ArrayList<>(plugins).iterator();
|
||||
}
|
||||
|
||||
public void registerPlugin(BiscuitPlugin plugin) {
|
||||
if (!contains(plugin)) {
|
||||
plugins.add(plugin);
|
||||
}
|
||||
}
|
||||
|
||||
public void loadPlugins() {
|
||||
pluginManager.loadPlugins();
|
||||
}
|
||||
|
||||
public void startPlugins() {
|
||||
pluginManager.startPlugins();
|
||||
}
|
||||
|
||||
public void stopPlugins() {
|
||||
List<PluginWrapper> startedPlugins = new ArrayList<>(pluginManager.getStartedPlugins());
|
||||
|
||||
for (PluginWrapper plugin : startedPlugins) {
|
||||
try {
|
||||
pluginManager.stopPlugin(plugin.getPluginId());
|
||||
} catch (Exception e) {
|
||||
System.err.println("Failed to stop plugin: " + plugin.getPluginId());
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void unloadPlugins() {
|
||||
List<PluginWrapper> loadedPlugins = new ArrayList<>(pluginManager.getPlugins());
|
||||
|
||||
for (PluginWrapper plugin : loadedPlugins) {
|
||||
try {
|
||||
pluginManager.unloadPlugin(plugin.getPluginId());
|
||||
} catch (Exception e) {
|
||||
System.err.println("Failed to unload plugin: " + plugin.getPluginId());
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void shutdownPlugins() {
|
||||
stopPlugins();
|
||||
unloadPlugins();
|
||||
|
||||
plugins.clear();
|
||||
}
|
||||
|
||||
public boolean contains(BiscuitPlugin plugin) {
|
||||
for (BiscuitPlugin pl : plugins) {
|
||||
if (plugin.getID().equals(pl.getID())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -21,6 +21,7 @@ public class YTEntry {
|
||||
this.id = id;
|
||||
this.title = title;
|
||||
this.author = author;
|
||||
this.timestamp = timestamp;
|
||||
this.description = description;
|
||||
this.thumbnail = thumbnail;
|
||||
}
|
||||
|
||||
@@ -28,14 +28,14 @@ public class YTFeed {
|
||||
private String lastVideo;
|
||||
private String lastVideoTimestamp;
|
||||
|
||||
public YTFeed(String alias, TextChannel channel, String channelURL, String message) {
|
||||
this.guild = BiscuitGuild.getBiscuitGuild(channel.getGuild());
|
||||
this.alias = alias;
|
||||
this.channel = channel;
|
||||
this.channelURL = channelURL;
|
||||
this.message = message;
|
||||
lastVideo = "";
|
||||
lastVideoTimestamp = "";
|
||||
public YTFeed(BiscuitGuild guild, String alias, TextChannel channel, String channelURL, String message) {
|
||||
this.guild = guild;
|
||||
this.alias = alias;
|
||||
this.channel = channel;
|
||||
this.channelURL = channelURL;
|
||||
this.message = message;
|
||||
lastVideo = "";
|
||||
lastVideoTimestamp = "";
|
||||
}
|
||||
|
||||
public String getAlias() {
|
||||
|
||||
Reference in New Issue
Block a user