2023-08-26 17:06:12 +01:00
|
|
|
using VPLink.Common.Data;
|
2023-08-22 14:57:18 +01:00
|
|
|
using VpSharp.Entities;
|
|
|
|
|
2023-08-26 17:06:12 +01:00
|
|
|
namespace VPLink.Common.Services;
|
2023-08-22 14:57:18 +01:00
|
|
|
|
|
|
|
/// <summary>
|
2023-08-26 14:11:43 +01:00
|
|
|
/// Represents a service that listens for messages from the Discord bridge channel.
|
2023-08-22 14:57:18 +01:00
|
|
|
/// </summary>
|
2023-08-26 14:11:43 +01:00
|
|
|
public interface IDiscordMessageService : IRelayTarget
|
2023-08-22 14:57:18 +01:00
|
|
|
{
|
|
|
|
/// <summary>
|
2023-08-26 14:11:43 +01:00
|
|
|
/// Gets an observable that is triggered when a valid message is received from the Discord bridge channel.
|
2023-08-22 14:57:18 +01:00
|
|
|
/// </summary>
|
2023-08-26 14:11:43 +01:00
|
|
|
/// <value>
|
|
|
|
/// An observable that is triggered when a valid message is received from the Discord bridge channel.
|
|
|
|
/// </value>
|
|
|
|
IObservable<RelayedMessage> OnMessageReceived { get; }
|
2023-08-22 14:57:18 +01:00
|
|
|
|
2023-08-26 13:03:42 +01:00
|
|
|
/// <summary>
|
|
|
|
/// Announces the arrival of an avatar.
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="avatar">The avatar.</param>
|
|
|
|
/// <returns>A <see cref="Task" /> representing the asynchronous operation.</returns>
|
|
|
|
Task AnnounceArrival(VirtualParadiseAvatar avatar);
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Announces the arrival of an avatar.
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="avatar">The avatar.</param>
|
|
|
|
/// <returns>A <see cref="Task" /> representing the asynchronous operation.</returns>
|
|
|
|
Task AnnounceDeparture(VirtualParadiseAvatar avatar);
|
|
|
|
}
|