What do you want to see in the API?
Add server-side daily task progress tracking for FORM_AN_INNER_CONNECTION.
The task should progress when a player successfully sends one supported predefined message to their current clan chat.
Player-facing instruction in Finnish:
Avaa klaanin chat ja lähetä viesti. Huomaa, miltä tuntuu aloittaa vuorovaikutus. Opit, että viestintä pelissä rakentaa suhteita ja merkityksiä, ei vain siirrä tietoa.
The backend should support the 16 currently documented chat response types:
export enum ChatResponseType {
NEED_COMPANY = 'NeedCompany',
NEW_GAME = 'NewGame',
COMING_TO_PLAY = 'ComingToPlay',
WANT_TO_PLAY = 'WantToPlay',
YES = 'Yes',
NO = 'No',
ONLINE = 'Online',
LEAVING = 'Leaving',
BUSY = 'Busy',
WINNING_STREAK = 'WinningStreak',
LOSING_STREAK = 'LosingStreak',
DISCORD = 'Discord',
LONELY = 'Lonely',
GOOD_GAME = 'GoodGame',
BAD_GAME = 'BadGame',
SKILL_ISSUE = 'SkillIssue',
}
How do you think this should work?
- Configure
FORM_AN_INNER_CONNECTION as a one-step server-tracked daily task with amount: 1.
- The clan chat WebSocket payload should contain a supported
responseType and a valid emotion.
- The backend validates both values before creating the message.
- The response type must be one of the 16 currently supported
ChatResponseType values.
- Any valid emotion, including the neutral
Blank option, can be used.
- The message must be sent by the authenticated player to their current clan.
- Emit a daily task event for
ServerTaskName.FORM_AN_INNER_CONNECTION only after the message has been validated and persisted successfully.
- Credit progress only to the player who sent the message.
- Complete the task through the existing daily task completion, reward and MQTT notification flow.
- Failed validation or persistence must not progress the task.
- Global and private messages must not progress the task.
- Reactions, edits and deletions must not progress the task.
Example clan message payload:
{
"responseType": "GoodGame",
"emotion": 1
}
Any additional info?
ChatGateway.handleClanMessage() already emits a FORM_AN_INNER_CONNECTION event after the clan chat service returns without an error. Verify that the event is awaited and emitted strictly after successful persistence.
The current task definition uses a random message count and the instruction Lähetä X viesti klaanichattiin. Replace it with the one-step configuration and the Finnish instruction above.
The existing backend Feeling enum is not the source of truth for the predefined chat system. The supported emotion contract is:
export enum ChatEmotion {
BLANK = -1,
SORROW = 0,
JOY = 1,
PLAYFUL = 2,
ANGER = 3,
LOVE = 4,
}
The chat response type should be transferred and stored as a stable string matching the frontend’s C# ResponseType name, such as GoodGame. The selected emotion should be transferred separately using the agreed numeric ChatEmotion value. This avoids relying on enum order or localized message text.
The 16 supported responses and their emotion-specific variants are defined in the [ALT ZONE chat specification](https://docs.google.com/document/d/16lYw-sdYMsDzispOfp-Ad4VRZ5KtEds1quU4qS0Sd6w).
Add tests covering successful completion, invalid response and emotion values, failed persistence, clan ownership, unsupported response types, and message types that must not progress the task.
What do you want to see in the API?
Add server-side daily task progress tracking for
FORM_AN_INNER_CONNECTION.The task should progress when a player successfully sends one supported predefined message to their current clan chat.
Player-facing instruction in Finnish:
The backend should support the 16 currently documented chat response types:
How do you think this should work?
FORM_AN_INNER_CONNECTIONas a one-step server-tracked daily task withamount: 1.responseTypeand a validemotion.ChatResponseTypevalues.Blankoption, can be used.ServerTaskName.FORM_AN_INNER_CONNECTIONonly after the message has been validated and persisted successfully.Example clan message payload:
{ "responseType": "GoodGame", "emotion": 1 }Any additional info?
ChatGateway.handleClanMessage()already emits aFORM_AN_INNER_CONNECTIONevent after the clan chat service returns without an error. Verify that the event is awaited and emitted strictly after successful persistence.The current task definition uses a random message count and the instruction
Lähetä X viesti klaanichattiin. Replace it with the one-step configuration and the Finnish instruction above.The existing backend
Feelingenum is not the source of truth for the predefined chat system. The supported emotion contract is:The chat response type should be transferred and stored as a stable string matching the frontend’s C#
ResponseTypename, such asGoodGame. The selected emotion should be transferred separately using the agreed numericChatEmotionvalue. This avoids relying onenumorder or localized message text.The 16 supported responses and their emotion-specific variants are defined in the [ALT ZONE chat specification](https://docs.google.com/document/d/16lYw-sdYMsDzispOfp-Ad4VRZ5KtEds1quU4qS0Sd6w).
Add tests covering successful completion, invalid response and emotion values, failed persistence, clan ownership, unsupported response types, and message types that must not progress the task.