using VPLink.Common.Data;
using VpSharp.Entities;
namespace VPLink.Common.Services;
///
/// Represents a service that listens for messages from the Discord bridge channel.
///
public interface IDiscordMessageService : IRelayTarget
{
///
/// Gets an observable that is triggered when a valid message is received from the Discord bridge channel.
///
///
/// An observable that is triggered when a valid message is received from the Discord bridge channel.
///
IObservable OnMessageReceived { get; }
///
/// Announces the arrival of an avatar.
///
/// The avatar.
/// A representing the asynchronous operation.
Task AnnounceArrival(VirtualParadiseAvatar avatar);
///
/// Announces the arrival of an avatar.
///
/// The avatar.
/// A representing the asynchronous operation.
Task AnnounceDeparture(VirtualParadiseAvatar avatar);
}