public bool SendE2ETextMessage(ThreemaE2ETextMessage threemaE2ETextMessage)
        {
            try
            {
                try
                {
                    _log.LogDebug("ThreemaController.SendE2ETextMessage: ModelState {0}, ThreemaE2ETextMessage {1}", ModelState.IsValid, threemaE2ETextMessage.ToString());
                }
                catch (Exception ex)
                {
                    _log.LogError("ThreemaController.SendE2ETextMessage 1 " + ex.Message);
                }

                string       myPrivateKey = this._configuration["Threema:PrivateKey"];
                string       myThreemaId  = this._configuration["Threema:ThreemaId"];
                string       mySecret     = this._configuration["Threema:Secret"];
                APIConnector apiConnector = new APIConnector(myThreemaId, mySecret, null);
                string       text         = DataUtils.Utf8Endcode(threemaE2ETextMessage.Text.Trim());
                Key          privateKey   = Key.DecodeKey(myPrivateKey);
                E2EHelper    e2EHelper    = new E2EHelper(apiConnector, privateKey.key);
                String       messageId    = e2EHelper.SendTextMessage(threemaE2ETextMessage.To, text);
                _log.LogDebug("ThreemaController.SendE2ETextMessage: messege sendet to {0}", threemaE2ETextMessage.To);
                return(true);
            }
            catch (Exception ex)
            {
                _log.LogError("ThreemaController.SendE2ETextMessage 2 " + ex.Message);
                return(false);
            }
        }
Пример #2
0
        /// <summary>
        /// Wrapper to send text message E2E <see cref="Threema.MsgApi.E2EHelper.SendTextMessage"/>
        /// </summary>
        /// <param name="to">Recipient id</param>
        /// <param name="from">Sender id</param>
        /// <param name="secret">Sender sercret</param>
        /// <param name="privateKey">Sender private key</param>
        /// <param name="text">Text message</param>
        /// <param name="apiUrl">Optional api url</param>
        /// <returns>Message id</returns>
        public string SendTextMessage(string to, string from, string secret, string privateKey, string text, string apiUrl = APIConnector.DEFAULTAPIURL)
        {
            byte[] privateKeyBytes = GetKey(privateKey, Key.KeyType.PRIVATE);

            E2EHelper e2EHelper = new E2EHelper(this.CreateConnector(from, secret, apiUrl), privateKeyBytes);

            return(e2EHelper.SendTextMessage(to, DataUtils.Utf8Endcode(text)));
        }
Пример #3
0
        protected override void Execute()
        {
            string to     = this.threemaId.Value;
            string from   = this.fromField.Value;
            string secret = this.secretField.Value;

            byte[] privateKey = this.privateKeyField.GetValue();

            //string text = ReadStream(System.Console.In).Trim();
            string text = DataUtils.Utf8Endcode(System.Console.ReadLine().Trim());

            E2EHelper e2EHelper = new E2EHelper(this.CreateConnector(from, secret), privateKey);
            String    messageId = e2EHelper.SendTextMessage(to, text);

            System.Console.WriteLine("MessageId: " + messageId);
        }