v0.1.19 Added audio settings, tweaked chat completion

This commit is contained in:
2023-04-16 11:56:27 -04:00
parent 9b605a3105
commit c226095b1a
7 changed files with 63 additions and 15 deletions

View File

@@ -1 +1 @@
export SIREN_VERSION=0.1.18 export SIREN_VERSION=0.1.19

View File

@@ -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();

View File

@@ -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));
} }
} }

View File

@@ -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()));
} }
} }

View File

@@ -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;
}
} }

View File

@@ -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;
}
}

View File

@@ -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>