コード例 #1
0
ファイル: TsBaseFunctions.cs プロジェクト: yakMM/TS3AudioBot
 /// <summary>Sends a text message to a specified target.
 /// If targetmode is set to <see cref="TextMessageTargetMode.Private"/>, a message is sent to the client with the ID specified by target.
 /// If targetmode is set to <see cref="TextMessageTargetMode.Channel"/> or <see cref="TextMessageTargetMode.Server"/>,
 /// the target parameter will be ignored and a message is sent to the current channel or server respectively.</summary>
 public CmdR SendMessage(string message, TextMessageTargetMode target, ulong id)
 => SendVoid(new TsCommand("sendtextmessage")
 {
     { "targetmode", (int)target },
     { "target", id },
     { "msg", message },
 });
コード例 #2
0
ファイル: UserSession.cs プロジェクト: makindotcc/TS3AudioBot
        public void Write(string message, TextMessageTargetMode targetMode)
        {
            VerifyLock();

            try
            {
                R result;
                switch (targetMode)
                {
                case TextMessageTargetMode.Private:
                    result = Bot.QueryConnection.SendMessage(message, client.ClientId);
                    break;

                case TextMessageTargetMode.Channel:
                    result = Bot.QueryConnection.SendChannelMessage(message);
                    break;

                case TextMessageTargetMode.Server:
                    result = Bot.QueryConnection.SendServerMessage(message);
                    break;

                default:
                    throw new InvalidOperationException();
                }

                if (!result)
                {
                    Log.Write(Log.Level.Error, "Could not write message (Err:{0}) (Msg:{1})", result.Message, message);
                }
            }
            catch (Ts3CommandException ex)
            {
                Log.Write(Log.Level.Error, "Could not write message (Ex:{0}) (Msg:{1})", ex.UnrollException(), message);
            }
        }
コード例 #3
0
 /// <summary>
 /// Sends a text message a specified target.
 /// The type of the target is determined by targetmode while target specifies the ID of the recipient, whether it be a virtual server, a channel or a client.
 /// </summary>
 /// <param name="targetMode"></param>
 /// <param name="targetId"></param>
 /// <param name="message"></param>
 /// <returns></returns>
 public Task <ServerQueryBaseResult> SendTextMessage(TextMessageTargetMode targetMode, int targetId, string message)
 {
     return(SendCommandAsync(new ServerQueryCommand <ServerQueryBaseResult>(Command.sendtextmessage)
                             .Add(Parameter.targetmode, targetMode)
                             .Add(Parameter.target, targetId)
                             .Add(Parameter.msg, message)));
 }
コード例 #4
0
 void _client_TextMessage(ulong serverID, TextMessageTargetMode targetMode, ushort toID, ushort fromID, string fromName, string fromUniqueIdentifier, string message)
 {
     //string msg = string.Format("[MSG|{0}|{1}|{2}|{3}|{4}]: {5}", serverID, targetMode.ToString(), toID, fromID, fromName, message);
     if (targetMode == TextMessageTargetMode.TextMessageTarget_CLIENT && _client.CurrentClientID == toID)
     {
         message = string.Format("Whisper from {0}: {1}", fromName, message);
     }
     else if (targetMode == TextMessageTargetMode.TextMessageTarget_CLIENT && _client.CurrentClientID == fromID)
     {
         message = string.Format("Whisper to {0}: {1}", _client.getStringVariable(toID, ClientProperties.CLIENT_NICKNAME), message);
     }
     updateTextbox(message, txtLog);
 }
コード例 #5
0
ファイル: Ts3BaseClient.cs プロジェクト: sertsch1/TS3AudioBot
 /// <summary>Sends a text message to a specified target.
 /// If targetmode is set to <see cref="TextMessageTargetMode.Private"/>, a message is sent to the client with the ID specified by target.
 /// If targetmode is set to <see cref="TextMessageTargetMode.Channel"/> or <see cref="TextMessageTargetMode.Server"/>,
 /// the target parameter will be ignored and a message is sent to the current channel or server respectively.</summary>
 public CmdR SendMessage(string message, TextMessageTargetMode target, ulong id)
 => Send("sendtextmessage",
         new CommandParameter("targetmode", (int)target),
         new CommandParameter("target", id),
         new CommandParameter("msg", message));
コード例 #6
0
 public CmdR RegisterNotification(TextMessageTargetMode target)
 => RegisterNotification(TargetTypeString[(int)target], null);
コード例 #7
0
 public void RegisterNotification(TextMessageTargetMode target, ChannelIdT channel)
 => RegisterNotification(TargetTypeString[(int)target], channel);
コード例 #8
0
ファイル: QueryBot.cs プロジェクト: Fearswe/Teamspeak3-Bot
		public Boolean SendTextMesssage(TextMessageTargetMode targetMode, int targetID, String message)
		{
			//sendtextmessage targetmode={1-3} target={serverID|channelID|clientID} msg={text}			
			this.latestError = this.ExecuteCommand(String.Format("sendtextmessage targetmode={0} target={1} msg={2}", targetMode, targetID, EscapeString(message)));
			return this.latestError.Success;

		}
コード例 #9
0
ファイル: ClientFOrm.cs プロジェクト: ferrywlto/teamspeak
 void _client_TextMessage(ulong serverID, TextMessageTargetMode targetMode, ushort toID, ushort fromID, string fromName, string fromUniqueIdentifier, string message)
 {
     //string msg = string.Format("[MSG|{0}|{1}|{2}|{3}|{4}]: {5}", serverID, targetMode.ToString(), toID, fromID, fromName, message);
     if (targetMode == TextMessageTargetMode.TextMessageTarget_CLIENT && _client.CurrentClientID == toID)
         message = string.Format("Whisper from {0}: {1}", fromName, message);
     else if (targetMode == TextMessageTargetMode.TextMessageTarget_CLIENT && _client.CurrentClientID == fromID)
         message = string.Format("Whisper to {0}: {1}", _client.getStringVariable(toID, ClientProperties.CLIENT_NICKNAME), message);
     updateTextbox(message, txtLog);
 }
コード例 #10
0
 private void onTextMessage(ulong serverID, TextMessageTargetMode targetMode, ushort toID, ushort fromID, string fromName, string fromUniqueIdentifier, string message)
 {
     if (TextMessage != null)
         TextMessage(serverID, targetMode, toID, fromID, fromName, fromUniqueIdentifier, message);
 }
コード例 #11
0
 public bool tell(string message, TextMessageTargetMode mode, ulong target = 0)
 {
     if(_state != ClientState.STATE_CONNECTED)
     {
         notifyError("Not connected.");
         return false;
     }
     uint result = Error.ok;
     switch(mode)
     {
         case TextMessageTargetMode.TextMessageTarget_SERVER:
             message = string.Format("[SERVER BROADCAST FROM {0}]: {1}", _currentClientName, message);
             result = RequestSendServerTextMsg(_connectedServerID, message, null);
             break;
         case TextMessageTargetMode.TextMessageTarget_CHANNEL:
             message = string.Format("{0}: {1}", _currentClientName, message);
             result = RequestSendChannelTextMsg(_connectedServerID, message, target, null);
             break;
         case TextMessageTargetMode.TextMessageTarget_CLIENT:
             if (target == _currentClientID)
             {
                 notifyError("You cannot whisper to yourself");
                 return false;
             }
             else
             {
                 result = RequestSendPrivateTextMsg(_connectedServerID, message, (ushort)target, null);
             }
             break;
         default: break;
     }
     if (result != Error.ok)
     {
         notifyError("Error senting message.");
         return false;
     }
     else
         notify("Message sent.");
     return true;
 }