Fixed up SptFriend not being able to process gifts
This commit is contained in:
+1
-1
@@ -21,7 +21,7 @@ public class AreYouABotMessageHandler(
|
||||
return message.ToLower() == "are you a bot";
|
||||
}
|
||||
|
||||
public void Process(string sessionId, UserDialogInfo sptFriendUser, PmcData sender)
|
||||
public void Process(string sessionId, UserDialogInfo sptFriendUser, PmcData? sender, object? extraInfo = null)
|
||||
{
|
||||
_mailSendService.SendUserMessageToPlayer(
|
||||
sessionId,
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ public class FishMessageHandler(
|
||||
return message.ToLower() == "fish";
|
||||
}
|
||||
|
||||
public void Process(string sessionId, UserDialogInfo sptFriendUser, PmcData sender)
|
||||
public void Process(string sessionId, UserDialogInfo sptFriendUser, PmcData? sender, object? extraInfo = null)
|
||||
{
|
||||
_mailSendService.SendUserMessageToPlayer(
|
||||
sessionId,
|
||||
|
||||
+1
-1
@@ -24,7 +24,7 @@ public class ForceChristmasMessageHandler(
|
||||
return message.ToLower() == "hohoho";
|
||||
}
|
||||
|
||||
public void Process(string sessionId, UserDialogInfo sptFriendUser, PmcData sender)
|
||||
public void Process(string sessionId, UserDialogInfo sptFriendUser, PmcData? sender, object? extraInfo = null)
|
||||
{
|
||||
var enableEventResult = _seasonalEventService.ForceSeasonalEvent(SeasonalEventType.Christmas);
|
||||
if (enableEventResult)
|
||||
|
||||
+1
-1
@@ -24,7 +24,7 @@ public class ForceHalloweenMessageHandler(
|
||||
return message.ToLower() == "veryspooky";
|
||||
}
|
||||
|
||||
public void Process(string sessionId, UserDialogInfo sptFriendUser, PmcData sender)
|
||||
public void Process(string sessionId, UserDialogInfo sptFriendUser, PmcData? sender, object? extraInfo = null)
|
||||
{
|
||||
var enableEventResult = _seasonalEventService.ForceSeasonalEvent(SeasonalEventType.Halloween);
|
||||
if (enableEventResult)
|
||||
|
||||
+1
-1
@@ -28,7 +28,7 @@ public class ForceSnowMessageHandler(
|
||||
return message.ToLower() == "itsonlysnowalan";
|
||||
}
|
||||
|
||||
public void Process(string sessionId, UserDialogInfo sptFriendUser, PmcData sender)
|
||||
public void Process(string sessionId, UserDialogInfo sptFriendUser, PmcData? sender, object? extraInfo = null)
|
||||
{
|
||||
_weatherConfig.OverrideSeason = Season.WINTER;
|
||||
|
||||
|
||||
+1
-1
@@ -28,7 +28,7 @@ public class ForceSummerMessageHandler(
|
||||
return message.ToLower() == "givemesunshine";
|
||||
}
|
||||
|
||||
public void Process(string sessionId, UserDialogInfo sptFriendUser, PmcData sender)
|
||||
public void Process(string sessionId, UserDialogInfo sptFriendUser, PmcData? sender, object? extraInfo = null)
|
||||
{
|
||||
_weatherConfig.OverrideSeason = Season.SUMMER;
|
||||
|
||||
|
||||
+1
-1
@@ -21,7 +21,7 @@ public class GarbageMessageHandler(
|
||||
return message.ToLower() == "garbage";
|
||||
}
|
||||
|
||||
public void Process(string sessionId, UserDialogInfo sptFriendUser, PmcData sender)
|
||||
public void Process(string sessionId, UserDialogInfo sptFriendUser, PmcData? sender, object? extraInfo = null)
|
||||
{
|
||||
var beforeCollect = GC.GetTotalMemory(false) / 1024 / 1024;
|
||||
|
||||
|
||||
+1
-1
@@ -28,7 +28,7 @@ public class GiveMeSpaceMessageHandler(
|
||||
return message.ToLower() == "givemespace";
|
||||
}
|
||||
|
||||
public void Process(string sessionId, UserDialogInfo sptFriendUser, PmcData sender)
|
||||
public void Process(string sessionId, UserDialogInfo sptFriendUser, PmcData? sender, object? extraInfo = null)
|
||||
{
|
||||
const string stashRowGiftId = "StashRows";
|
||||
var maxGiftsToSendCount = _coreConfig.Features.ChatbotFeatures.CommandUseLimits[stashRowGiftId] ?? 5;
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@ public class HelloMessageHandler(
|
||||
return _listOfGreetings.Contains(message, StringComparer.OrdinalIgnoreCase);
|
||||
}
|
||||
|
||||
public void Process(string sessionId, UserDialogInfo sptFriendUser, PmcData sender)
|
||||
public void Process(string sessionId, UserDialogInfo sptFriendUser, PmcData? sender, object? extraInfo = null)
|
||||
{
|
||||
_mailSendService.SendUserMessageToPlayer(
|
||||
sessionId,
|
||||
|
||||
+2
-2
@@ -8,6 +8,6 @@ public interface IChatMessageHandler
|
||||
// Lower = More priority
|
||||
int GetPriority();
|
||||
|
||||
public bool CanHandle(string message);
|
||||
public void Process(string sessionId, UserDialogInfo sptFriendUser, PmcData sender);
|
||||
public bool CanHandle(string? message);
|
||||
public void Process(string sessionId, UserDialogInfo sptFriendUser, PmcData? sender, object? extraInfo = null);
|
||||
}
|
||||
|
||||
+1
-1
@@ -22,7 +22,7 @@ public class LoveYouChatMessageHandler(
|
||||
return message.ToLower() == "love you";
|
||||
}
|
||||
|
||||
public void Process(string sessionId, UserDialogInfo sptFriendUser, PmcData sender)
|
||||
public void Process(string sessionId, UserDialogInfo sptFriendUser, PmcData? sender, object? extraInfo = null)
|
||||
{
|
||||
_mailSendService.SendUserMessageToPlayer(
|
||||
sessionId,
|
||||
|
||||
+1
-1
@@ -21,7 +21,7 @@ public class NikitaMessageHandler(
|
||||
return message.ToLower() == "nikita";
|
||||
}
|
||||
|
||||
public void Process(string sessionId, UserDialogInfo sptFriendUser, PmcData sender)
|
||||
public void Process(string sessionId, UserDialogInfo sptFriendUser, PmcData? sender, object? extraInfo = null)
|
||||
{
|
||||
_mailSendService.SendUserMessageToPlayer(
|
||||
sessionId,
|
||||
|
||||
+5
-4
@@ -6,6 +6,7 @@ using SPTarkov.Server.Core.Servers;
|
||||
using SPTarkov.Server.Core.Services;
|
||||
using SPTarkov.Server.Core.Utils;
|
||||
using SPTarkov.Common.Annotations;
|
||||
using SPTarkov.Server.Core.Models.Eft.Dialog;
|
||||
|
||||
namespace SPTarkov.Server.Core.Helpers.Dialogue.SPTFriend.Commands;
|
||||
|
||||
@@ -17,7 +18,6 @@ public class SendGiftMessageHandler(
|
||||
ConfigServer _configServer) : IChatMessageHandler
|
||||
{
|
||||
private readonly CoreConfig _coreConfig = _configServer.GetConfig<CoreConfig>();
|
||||
private readonly string commandSent = string.Empty;
|
||||
|
||||
public int GetPriority()
|
||||
{
|
||||
@@ -26,10 +26,10 @@ public class SendGiftMessageHandler(
|
||||
|
||||
public bool CanHandle(string message)
|
||||
{
|
||||
return _giftService.GiftExists(message.ToLower());
|
||||
return _giftService.GiftExists(message);
|
||||
}
|
||||
|
||||
public void Process(string sessionId, UserDialogInfo sptFriendUser, PmcData sender)
|
||||
public void Process(string sessionId, UserDialogInfo sptFriendUser, PmcData sender, object? extraInfo = null)
|
||||
{
|
||||
// Gifts may be disabled via config
|
||||
if (!_coreConfig.Features.ChatbotFeatures.SptFriendGiftsEnabled)
|
||||
@@ -37,7 +37,8 @@ public class SendGiftMessageHandler(
|
||||
return;
|
||||
}
|
||||
|
||||
var giftSent = _giftService.SendGiftToPlayer(sessionId, commandSent);
|
||||
var messageTest = ((SendMessageRequest) extraInfo).Text;
|
||||
var giftSent = _giftService.SendGiftToPlayer(sessionId, messageTest);
|
||||
switch (giftSent)
|
||||
{
|
||||
case GiftSentResult.SUCCESS:
|
||||
|
||||
+1
-1
@@ -21,7 +21,7 @@ public class SptMessageHandler(
|
||||
return message.ToLower() == "spt";
|
||||
}
|
||||
|
||||
public void Process(string sessionId, UserDialogInfo sptFriendUser, PmcData sender)
|
||||
public void Process(string sessionId, UserDialogInfo sptFriendUser, PmcData? sender, object? extraInfo = null)
|
||||
{
|
||||
_mailSendService.SendUserMessageToPlayer(
|
||||
sessionId,
|
||||
|
||||
@@ -52,16 +52,18 @@ public class SptDialogueChatBot(
|
||||
return SendPlayerHelpMessage(sessionId, request);
|
||||
}
|
||||
|
||||
var handler = _chatMessageHandlers.FirstOrDefault(h =>
|
||||
{
|
||||
return h.CanHandle(request.Text);
|
||||
});
|
||||
|
||||
var handler = _chatMessageHandlers.FirstOrDefault(v => v.CanHandle(request.Text));
|
||||
if (handler is not null)
|
||||
{
|
||||
handler.Process(sessionId, sptFriendUser, sender);
|
||||
handler.Process(sessionId, sptFriendUser, sender, request);
|
||||
|
||||
return request.DialogId;
|
||||
}
|
||||
|
||||
|
||||
_mailSendService.SendUserMessageToPlayer(
|
||||
sessionId,
|
||||
GetChatBot(),
|
||||
|
||||
Reference in New Issue
Block a user