god

package
v0.0.0-...-bb841d2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 29, 2023 License: AGPL-3.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	UrrIntervalTooShort    = core.UrrNew("The given interval is too short.")
	UrrPersonalityNotFound = core.UrrNew("The given personality could not be found.")
	UrrPersonalityExists   = core.UrrNew("This personality already exists, try editing instead.")
	UrrOneLeft             = core.UrrNew("Only one personality left, better not delete it.")
	UrrGlobalPersonality   = core.UrrNew("This is a global personality, can't modify it.")
	UrrModOnly             = core.UrrNew("Non-moderators are currently not allowed to use this command.")
	UrrNotInt              = core.UrrNew("Expected an integer instead.")
	UrrInvalidInterval     = core.UrrNew("Expected an interval in the form of 1h30m.")
	UrrPromptSame          = core.UrrNew("Provided instructions are exactly the same as the already set ones.")
)
View Source
var Admin = admin{}
View Source
var AdminMax = adminMax{}
View Source
var AdminMaxSet = adminMaxSet{}
View Source
var AdminMaxShow = adminMaxShow{}
View Source
var Advanced = advanced{}
View Source
var AdvancedAuto = advancedAuto{}
View Source
var AdvancedAutoInterval = advancedAutoInterval{}
View Source
var AdvancedAutoIntervalSet = advancedAutoIntervalSet{}
View Source
var AdvancedAutoIntervalShow = advancedAutoIntervalShow{}
View Source
var AdvancedAutoOff = advancedAutoOff{}
View Source
var AdvancedAutoOn = advancedAutoOn{}
View Source
var AdvancedAutoShow = advancedAutoShow{}
View Source
var AdvancedPersonality = advancedPersonality{}
View Source
var AdvancedPersonalityAdd = advancedPersonalityAdd{}
View Source
var AdvancedPersonalityDelete = advancedPersonalityDelete{}
View Source
var AdvancedPersonalityEdit = advancedPersonalityEdit{}
View Source
var AdvancedPersonalityInfo = advancedPersonalityInfo{}
View Source
var AdvancedPersonalityList = advancedPersonalityList{}
View Source
var AdvancedPersonalitySet = advancedPersonalitySet{}
View Source
var AdvancedPersonalityShow = advancedPersonalityShow{}
View Source
var AdvancedRedeem = advancedRedeem{}
View Source
var AdvancedRedeemSet = advancedRedeemSet{}
View Source
var AdvancedRedeemShow = advancedRedeemShow{}
View Source
var AdvancedTalk = advancedTalk{}
View Source
var AdvancedTalkDialogue = advancedTalkDialogue{}
View Source
var AdvancedTalkEveryone = advancedTalkEveryone{}
View Source
var AdvancedTalkEveryoneOff = advancedTalkEveryoneOff{}
View Source
var AdvancedTalkEveryoneOn = advancedTalkEveryoneOn{}
View Source
var AdvancedTalkEveryoneShow = advancedTalkEveryoneShow{}
View Source
var AdvancedTalkOnce = advancedTalkOnce{}
View Source
var Normal = normal{}
View Source
var NormalOff = normalOff{}
View Source
var NormalOn = normalOn{}
View Source
var NormalPersonalities = normalPersonalities{}
View Source
var NormalPersonality = normalPersonality{}
View Source
var NormalShow = normalShow{}

Functions

func EveryoneGet

func EveryoneGet(place int64) (bool, error)

EveryoneGet returns true if everyone (mods + non-mods) in place is allowed to talk to God.

func EveryoneSet

func EveryoneSet(place int64, allowed bool) error

EveryoneSet sets whether everyone is place is allowed to talk to God.

func MaxGet

func MaxGet(place int64) (int, error)

MaxGet returns the maximum number of tokens that a response is allowed.

func MaxSet

func MaxSet(place int64, max int) error

MaxSet sets the maximum number of tokens that a response is allowed.

func PersonalityAdd

func PersonalityAdd(place int64, name, prompt string) (core.Urr, error)

PersonalityAdd adds a new personality called name in place. Returns UrrPersonalityExists if one by that name already exists in place. To edit an existing personality's prompt use PersonalityEdit.

func PersonalityDelete

func PersonalityDelete(place int64, name string) (core.Urr, error)

PersonalityDelete will delete the given personality in place. Returns UrrOneLeft if name is the only personality left. Returns UrrPersonalityNotFound if name doesn't correspond to any. Returns UrrGlobalPersonality if it's global and not place-defined.

func PersonalityEdit

func PersonalityEdit(place int64, name, newPrompt string) (string, core.Urr, error)

PersonalityEdit edits the specified personality in place. Returns the old prompt. Returns UrrPersonalityNotFound if name doesn't correspond to any. Returns UrrGlobalPersonality if it's global and not place-defined. Returns UrrPromptSame if the old prompt and newPrompt are equal.

func PersonalitySet

func PersonalitySet(place int64, name string) (string, core.Urr, error)

PersonalitySet updates the active personality in place. Returns UrrPersonalityNotFound if name doesn't correspond to one.

func RedeemGet

func RedeemGet(place int64) (uuid.UUID, core.Urr, error)

RedeemGet returns the place's god triggering redeem. If no redeem has been set returns core.UrrValNil.

func RedeemSet

func RedeemSet(place int64, id string) error

func ReplyIntervalGet

func ReplyIntervalGet(place int64) (time.Duration, error)

ReplyIntervalGet returns the duration object of the interval that is required for auto-replies in the specified place.

func ReplyIntervalSet

func ReplyIntervalSet(place int64, dur time.Duration) (error, error)

ReplyIntervalSet sets the reply interval for the specified place. Returns UrrIntervalTooShort if dur is larger than the global minimum that is allowed.

func ReplyOnGet

func ReplyOnGet(place int64) (bool, error)

ReplyOnGet returns whether auto-replying is on or off (true or false) in the specified place.

func ReplyOnSet

func ReplyOnSet(place int64, on bool) error

ReplyOnSet will set the value that determines whether auto-replying is on or off (true or false) in the specified place.

func Talk

func Talk(person, place int64, userPrompt string) (string, error)

Talk returns GPT3.5's response to a user prompt. The system prompt will be the active personality for place. If person equals -1 then the conversation will not be kept track of. If the active personality changes, then the saved dialogue is cleared.

Types

type Personality

type Personality struct {
	ID     int64
	Name   string
	Prompt string
	Global bool
}

func PersonalitiesList

func PersonalitiesList(place int64) ([]Personality, error)

PersonalitiesList returns the list of all available personalities available in place, includes both global and place-defined ones.

func PersonalityActive

func PersonalityActive(place int64) (Personality, int, error)

PersonalityActive returns the currently selected personality for place, along with the maximum allowed tokens to be passed in the OpenAI request. Assumes that at least one exists, as it probably does because of globals.

func PersonalityGet

func PersonalityGet(place int64, name string) (Personality, core.Urr, error)

PersonalityGet returns the specified personality in place. Returns UrrPersonalityNotFound if name doesn't correspond to any.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL