v0.1.19 Added audio settings, tweaked chat completion
This commit is contained in:
@@ -133,7 +133,7 @@ public class Listener extends ListenerAdapter {
|
|||||||
commands.put("resume", new ResumeCommand(this));
|
commands.put("resume", new ResumeCommand(this));
|
||||||
commands.put("image", new ImageCommand(this));
|
commands.put("image", new ImageCommand(this));
|
||||||
jda.getGuilds().forEach(guild -> executor.execute(() -> {
|
jda.getGuilds().forEach(guild -> executor.execute(() -> {
|
||||||
LOGGER.debug("Updating commands for {}", guild.getId());
|
LOGGER.debug("Updating commands for \"{}\" <{}>", guild.getName(), guild.getId());
|
||||||
guild.updateCommands().addCommands(
|
guild.updateCommands().addCommands(
|
||||||
commands.values().stream().map(Command::getSlashCommandData).collect(Collectors.toList())
|
commands.values().stream().map(Command::getSlashCommandData).collect(Collectors.toList())
|
||||||
).queue();
|
).queue();
|
||||||
|
|||||||
@@ -150,11 +150,16 @@ public class OpenAIManager {
|
|||||||
.build();
|
.build();
|
||||||
List<MessageData> previousMessages = DatabaseManager.getMessages(
|
List<MessageData> previousMessages = DatabaseManager.getMessages(
|
||||||
query, event.getGuild().getIdLong(), event.getChannel().getIdLong());
|
query, event.getGuild().getIdLong(), event.getChannel().getIdLong());
|
||||||
|
Set<String> potentialTopics = new HashSet<>();
|
||||||
for (MessageData previousMessage : previousMessages) {
|
for (MessageData previousMessage : previousMessages) {
|
||||||
ChatMessage previousChatMessage = createSystemMessage("For context, I previously sent you a message at " +
|
ChatMessage previousChatMessage = createSystemMessage("For context, I previously sent you a message at " +
|
||||||
previousMessage.getTimestamp() + " which said \"" + previousMessage.getMessageText() +
|
previousMessage.getTimestamp() + " which said \"" + previousMessage.getMessageText() +
|
||||||
"\". You replied with \"" + previousMessage.getMessageResponse() + "\".");
|
"\". You replied with \"" + previousMessage.getMessageResponse() + "\".");
|
||||||
|
potentialTopics.addAll(NLP.getTopicKeywords(previousMessage.getMessageText()));
|
||||||
|
potentialTopics.addAll(NLP.getTopicKeywords(previousMessage.getMessageResponse()));
|
||||||
chatMessages.add(previousChatMessage);
|
chatMessages.add(previousChatMessage);
|
||||||
|
LOGGER.trace("Potential topics: {}", potentialTopics);
|
||||||
|
// chatMessages.add(createSystemMessage("As an AI language model, only give replies that relate to " + topics));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ public class AudioHandler extends AudioEventAdapter implements AudioSendHandler
|
|||||||
|
|
||||||
public void addTrack(AudioTrack track) {
|
public void addTrack(AudioTrack track) {
|
||||||
if (player.getPlayingTrack() == null) {
|
if (player.getPlayingTrack() == null) {
|
||||||
player.playTrack(track);
|
manager.getListener().getExecutor().execute(() -> player.playTrack(track));
|
||||||
} else {
|
} else {
|
||||||
LOGGER.debug("Track '{}' has been queued", track.getInfo().title);
|
LOGGER.debug("Track '{}' has been queued", track.getInfo().title);
|
||||||
if (!queue.offer(track)) {
|
if (!queue.offer(track)) {
|
||||||
@@ -56,7 +56,7 @@ public class AudioHandler extends AudioEventAdapter implements AudioSendHandler
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void setPaused(boolean paused) {
|
public void setPaused(boolean paused) {
|
||||||
player.setPaused(paused);
|
manager.getListener().getExecutor().execute(() -> player.setPaused(paused));
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isPaused() {
|
public boolean isPaused() {
|
||||||
@@ -95,7 +95,7 @@ public class AudioHandler extends AudioEventAdapter implements AudioSendHandler
|
|||||||
manager.getListener().closeAudioConnection(guildID);
|
manager.getListener().closeAudioConnection(guildID);
|
||||||
manager.getListener().getJDA().getPresence().setActivity(Activity.playing("nothing"));
|
manager.getListener().getJDA().getPresence().setActivity(Activity.playing("nothing"));
|
||||||
} else {
|
} else {
|
||||||
player.playTrack(queue.poll());
|
manager.getListener().getExecutor().execute(() -> player.playTrack(queue.poll()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package com.bensherriff.siren.settings;
|
package com.bensherriff.siren.settings;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public class Settings {
|
public class Settings {
|
||||||
@@ -10,6 +12,7 @@ public class Settings {
|
|||||||
private int threadPool = 2;
|
private int threadPool = 2;
|
||||||
private Map<Long, GuildSettings> guildSettings = new HashMap<>();
|
private Map<Long, GuildSettings> guildSettings = new HashMap<>();
|
||||||
private OpenAISettings openAISettings = new OpenAISettings();
|
private OpenAISettings openAISettings = new OpenAISettings();
|
||||||
|
private List<TrackSettings> tracks = new ArrayList<>();
|
||||||
|
|
||||||
public String getToken() {
|
public String getToken() {
|
||||||
return token;
|
return token;
|
||||||
@@ -51,4 +54,12 @@ public class Settings {
|
|||||||
public void setOpenAISettings(OpenAISettings openAISettings) {
|
public void setOpenAISettings(OpenAISettings openAISettings) {
|
||||||
this.openAISettings = openAISettings;
|
this.openAISettings = openAISettings;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<TrackSettings> getTracks() {
|
||||||
|
return tracks;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTracks(List<TrackSettings> tracks) {
|
||||||
|
this.tracks = tracks;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,22 @@
|
|||||||
|
package com.bensherriff.siren.settings;
|
||||||
|
|
||||||
|
public class TrackSettings {
|
||||||
|
private String file;
|
||||||
|
private String[] tags;
|
||||||
|
|
||||||
|
public String getFile() {
|
||||||
|
return file;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFile(String file) {
|
||||||
|
this.file = file;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String[] getTags() {
|
||||||
|
return tags;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTags(String[] tags) {
|
||||||
|
this.tags = tags;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -9,25 +9,35 @@
|
|||||||
<Console name="console" target="SYSTEM_OUT">
|
<Console name="console" target="SYSTEM_OUT">
|
||||||
<PatternLayout pattern="${LOG_PATTERN}"/>
|
<PatternLayout pattern="${LOG_PATTERN}"/>
|
||||||
</Console>
|
</Console>
|
||||||
<RollingFile name="rollingFile" fileName="${logPath}/${rollingFileName}-debug.log"
|
<RollingFile name="rollingFile" fileName="${logPath}/${rollingFileName}.log"
|
||||||
filePattern="${logPath}/${rollingFileName}-%d{yyyy-MM-dd}-%i.log">
|
filePattern="${logPath}/${rollingFileName}-%d{yyyy-MM-dd}-%i.log">
|
||||||
<LevelRangeFilter minLevel="DEBUG" maxLevel="FATAL" onMatch="ACCEPT" onMismatch="DENY"/>
|
|
||||||
<PatternLayout pattern="%d{DEFAULT} | %-5level | %c{1}.%M() | %msg%n%throwable{short.lineNumber}"/>
|
<PatternLayout pattern="%d{DEFAULT} | %-5level | %c{1}.%M() | %msg%n%throwable{short.lineNumber}"/>
|
||||||
<Policies>
|
<Policies>
|
||||||
<OnStartupTriggeringPolicy />
|
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
|
||||||
<TimeBasedTriggeringPolicy />
|
<SizeBasedTriggeringPolicy size="10MB"/>
|
||||||
<SizeBasedTriggeringPolicy size="50 MB" />
|
|
||||||
</Policies>
|
</Policies>
|
||||||
<DefaultRolloverStrategy max="10"/>
|
<DefaultRolloverStrategy max="30"/>
|
||||||
</RollingFile>
|
</RollingFile>
|
||||||
</Appenders>
|
</Appenders>
|
||||||
<Loggers>
|
<Loggers>
|
||||||
<Logger name="com.bensherriff" additivity="false">
|
<Root level="debug">
|
||||||
|
<AppenderRef ref="rollingFile"/>
|
||||||
|
</Root>
|
||||||
|
<Logger name="com" level="warn" additivity="false">
|
||||||
|
<AppenderRef ref="console"/>
|
||||||
|
</Logger>
|
||||||
|
<Logger name="net" level="warn" additivity="false">
|
||||||
|
<AppenderRef ref="console"/>
|
||||||
|
</Logger>
|
||||||
|
<Logger name="org" level="warn" additivity="false">
|
||||||
|
<AppenderRef ref="console"/>
|
||||||
|
</Logger>
|
||||||
|
<Logger name="edu" level="warn" additivity="false">
|
||||||
|
<AppenderRef ref="console"/>
|
||||||
|
</Logger>
|
||||||
|
<Logger name="com.bensherriff" level="trace" additivity="false">
|
||||||
<AppenderRef ref="console"/>
|
<AppenderRef ref="console"/>
|
||||||
<AppenderRef ref="rollingFile"/>
|
<AppenderRef ref="rollingFile"/>
|
||||||
</Logger>
|
</Logger>
|
||||||
<Root level="all" additivity="false">
|
|
||||||
<AppenderRef ref="rollingFile"/>
|
|
||||||
</Root>
|
|
||||||
</Loggers>
|
</Loggers>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
Reference in New Issue
Block a user