Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 21 по 30 из 33

Тема: модуль whatsapp или telegram?

  1. #21
    Пользователь
    Регистрация
    27.02.2022
    Адрес
    Новосибирская область
    Сообщений
    49

    По умолчанию

    [QUOTE=SCADAMaster;382146]Так в какой момент возникает ошибка? Вы сделали API_ID и HASH?
    Перепроверили сейчас еще раз, с нашим телефоном и API_ID - все прекрасно работает.[/Q
    да сделал? код приходит на телефон. после ввода кода и включения входа авторизация ничего не происходит...
    Изображение1.jpg

  2. #22
    Пользователь
    Регистрация
    27.02.2022
    Адрес
    Новосибирская область
    Сообщений
    49

    По умолчанию

    ваш код скрипта:
    using System;
    using MasterSCADA.Script.FB;
    using MasterSCADA.Hlp;
    using FB;
    using FB.FBAttributes;
    using System.Linq;
    using TeleSharp.TL;
    using TLSharp.Core;
    using System.Threading.Tasks;
    using MasterSCADA.Hlp.Events;
    using System.Collections.Generic;

    [FBRetain]
    public partial class ФБ : ScriptBase
    {

    string hash="";
    bool? M=false;
    bool? L=false;
    bool? O=false;
    [FBNonRetain] TelegramClient Client=null;
    [FBNonRetain] TLVector<TLAbsUser> Contacts=null;
    [FBNonRetain] string TelephoneNumber="+79038000102";
    [FBNonRetain] string DestNumber="79520690102";
    [FBNonRetain] List<string> Messages=new List<string>();

    public override void Start()
    {
    Client = new TelegramClient(1603676, "91545868ec615faf6c751beb93909a1f",null,"TelegramS ession",null,DataCenterIPVersion.Default,HostFB.Tr eeItemHlp.Project.Path);
    Client.ConnectAsync().Wait();
    Ошибка=false;
    ТекстОшибки="";
    АвторизацияУспешна=false;
    Authorization();


    //подписка на изменение сообщений
    HostFB.TreeItemHlp.Project.AlarmManager.OnRecordsC hangeEvent += AlarmManager_OnRecordsChangeEvent;
    //подписка на добавление сообщений
    HostFB.TreeItemHlp.Project.AlarmManager.OnRecordsA ddEvent += AlarmManager_OnRecordsChangeEvent;
    //System.Diagnostics.Debug.Assert(false);

    }

    public override void Execute()
    {
    if (ПолучитьКод==true && M==false)
    {
    var hashTask = Client.SendCodeRequestAsync(TelephoneNumber);
    hashTask.Wait();
    hash = hashTask.Result;
    АвторизацияУспешна=false;
    }
    M=ПолучитьКод;
    if (Авторизоваться==true && L==false)
    {
    Authorization();
    }
    L=Авторизоваться;
    if (АвторизацияУспешна==false) return;

    if (Послать==true && O==false)
    {
    Send("Test");
    }
    lock(this)
    {
    if (Messages.Count>0)
    {
    foreach (string Message in Messages)
    {
    Send(Message);
    }
    Messages.Clear();
    }

    }

    O=Послать;
    }

    void AlarmManager_OnRecordsChangeEvent(MasterSCADA.Hlp. Events.AlarmManagerHlp manager, MasterSCADA.Interfaces.EventID[] eventIDs)
    {
    lock (this)
    {
    var filter = new EventFilterData();
    var FilterObject = HostFB.TreeItemHlp.Parent; // объект, в котором искать сообщения
    filter.Sources.Add(FilterObject);
    filter.EventIDs=eventIDs; //фильтруем по новым EventID

    var events = manager.GetEvents(HostFB.TreeItemHlp.Parent, filter, 1000);
    foreach (var NewEvent in events)
    {
    string Message=NewEvent.Message;
    Messages.Add(Message);
    }
    }
    HostFB.SetNeedUpdate();
    }


    public void Authorization()
    {
    if (Код=="" || hash=="")
    {
    return;
    }
    try
    {
    var user = Client.MakeAuthAsync(TelephoneNumber, hash, Код);
    user.Wait();
    var resultTask = Client.GetContactsAsync();
    resultTask.Wait();
    Contacts = resultTask.Result.Users;
    АвторизацияУспешна=true;
    Ошибка=false;
    ТекстОшибки="";
    }
    catch (Exception ex)
    {
    ТекстОшибки=ex.Message;
    Ошибка=true;
    АвторизацияУспешна=false;
    }
    }

    public void Send(string Message)
    {
    try
    {
    foreach (var it in Contacts)
    {
    if (it.GetType() == typeof(TLUser))
    {
    TLUser User = (TLUser)it;
    string Phone = User.Phone;
    if (Phone == DestNumber)
    {
    var Send=Client.SendMessageAsync(new TLInputPeerUser() { UserId = User.Id }, Message);
    Send.Wait();
    }
    }
    }
    Ошибка=false;
    ТекстОшибки="";
    }
    catch (Exception Ex)
    {
    Ошибка=true;
    ТекстОшибки=Ex.Message;
    }

    }


    }

    после внесения изменений:

    using System;
    using MasterSCADA.Script.FB;
    using MasterSCADA.Hlp;
    using FB;
    using FB.FBAttributes;
    using System.Linq;
    using TeleSharp.TL;
    using TLSharp.Core;
    using System.Threading.Tasks;
    using MasterSCADA.Hlp.Events;
    using System.Collections.Generic;

    [FBRetain]
    public partial class ФБ : ScriptBase
    {

    string hash="";
    bool? M=false;
    bool? L=false;
    bool? O=false;
    [FBNonRetain] TelegramClient Client=null;
    [FBNonRetain] TLVector<TLAbsUser> Contacts=null;
    [FBNonRetain] string TelephoneNumber="+79644954773";
    [FBNonRetain] string DestNumber="79137928646";
    [FBNonRetain] List<string> Messages=new List<string>();

    public override void Start()
    {
    Client = new TelegramClient(18376347, "0cfd144a477581157fd2b3948f049076",null,"TelegramS ession",null,DataCenterIPVersion.Default,HostFB.Tr eeItemHlp.Project.Path);
    Client.ConnectAsync().Wait();
    Ошибка=false;
    ТекстОшибки="";
    АвторизацияУспешна=false;
    Authorization();


    //подписка на изменение сообщений
    HostFB.TreeItemHlp.Project.AlarmManager.OnRecordsC hangeEvent += AlarmManager_OnRecordsChangeEvent;
    //подписка на добавление сообщений
    HostFB.TreeItemHlp.Project.AlarmManager.OnRecordsA ddEvent += AlarmManager_OnRecordsChangeEvent;
    //System.Diagnostics.Debug.Assert(false);

    }

    public override void Execute()
    {
    if (ПолучитьКод==true && M==false)
    {
    var hashTask = Client.SendCodeRequestAsync(TelephoneNumber);
    hashTask.Wait();
    hash = hashTask.Result;
    АвторизацияУспешна=false;
    }
    M=ПолучитьКод;
    if (Авторизоваться==true && L==false)
    {
    Authorization();
    }
    L=Авторизоваться;
    if (АвторизацияУспешна==false) return;

    if (Послать==true && O==false)
    {
    Send("Test");
    }
    lock(this)
    {
    if (Messages.Count>0)
    {
    foreach (string Message in Messages)
    {
    Send(Message);
    }
    Messages.Clear();
    }

    }

    O=Послать;
    }

    void AlarmManager_OnRecordsChangeEvent(MasterSCADA.Hlp. Events.AlarmManagerHlp manager, MasterSCADA.Interfaces.EventID[] eventIDs)
    {
    lock (this)
    {
    var filter = new EventFilterData();
    var FilterObject = HostFB.TreeItemHlp.Parent; // объект, в котором искать сообщения
    filter.Sources.Add(FilterObject);
    filter.EventIDs=eventIDs; //фильтруем по новым EventID

    var events = manager.GetEvents(HostFB.TreeItemHlp.Parent, filter, 1000);
    foreach (var NewEvent in events)
    {
    string Message=NewEvent.Message;
    Messages.Add(Message);
    }
    }
    HostFB.SetNeedUpdate();
    }


    public void Authorization()
    {
    if (Код=="" || hash=="")
    {
    return;
    }
    try
    {
    var user = Client.MakeAuthAsync(TelephoneNumber, hash, Код);
    user.Wait();
    var resultTask = Client.GetContactsAsync();
    resultTask.Wait();
    Contacts = resultTask.Result.Users;
    АвторизацияУспешна=true;
    Ошибка=false;
    ТекстОшибки="";
    }
    catch (Exception ex)
    {
    ТекстОшибки=ex.Message;
    Ошибка=true;
    АвторизацияУспешна=false;
    }
    }

    public void Send(string Message)
    {
    try
    {
    foreach (var it in Contacts)
    {
    if (it.GetType() == typeof(TLUser))
    {
    TLUser User = (TLUser)it;
    string Phone = User.Phone;
    if (Phone == DestNumber)
    {
    var Send=Client.SendMessageAsync(new TLInputPeerUser() { UserId = User.Id }, Message);
    Send.Wait();
    }
    }
    }
    Ошибка=false;
    ТекстОшибки="";
    }
    catch (Exception Ex)
    {
    Ошибка=true;
    ТекстОшибки=Ex.Message;
    }

    }


    }

  3. #23
    Пользователь
    Регистрация
    27.02.2022
    Адрес
    Новосибирская область
    Сообщений
    49

    По умолчанию

    в дэмоверсии должно работать? лицензию еще не подвезли на этот объект...
    в журнале ошибка 0х80131500

  4. #24

    По умолчанию

    Да, должно работать на любой версии.
    Библиотеки положили в папку скады? Какая версия MasterSCADA?
    Спасибо.

  5. #25
    Пользователь
    Регистрация
    27.02.2022
    Адрес
    Новосибирская область
    Сообщений
    49

    По умолчанию

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    Да, должно работать на любой версии.
    Библиотеки положили в папку скады? Какая версия MasterSCADA?
    версия скады 3.12.0.25522 3.12(Demo)_22_02_07_11_25
    DLL положил по пути C:\Program Files (x86)\MPSSoft\MasterSCADA

  6. #26
    Пользователь
    Регистрация
    27.02.2022
    Адрес
    Новосибирская область
    Сообщений
    49

    По умолчанию

    Client = new TelegramClient(1603676, "91545868ec615faf6c751beb93909a1f",null,"Teleg ramS ession",null,DataCenterIPVersion.Default,HostFB.Tr eeItemHlp.Project.Path);

    это api ID - 1603676, 91545868ec615faf6c751beb93909a1f - это api hash.

    [FBNonRetain] string TelephoneNumber="+79038000102"; - номер отправителя
    [FBNonRetain] string DestNumber="79520690102"; - номер полуяателя

    больше не чего в коде скрипта не меняю? все ведь верно... вроде...

  7. #27

    По умолчанию

    С виду да.
    Единственный вариант который видится - напишите на support и предоставьте доступ по AnyDesk.
    Спасибо.

  8. #28
    Пользователь
    Регистрация
    27.02.2022
    Адрес
    Новосибирская область
    Сообщений
    49

    По умолчанию

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    С виду да.
    Единственный вариант который видится - напишите на support и предоставьте доступ по AnyDesk.
    вот видео действий -

    странно, сейчас и код не приходит...

  9. #29

    По умолчанию

    Возможно что-то блокирует отправку запроса. Попробуйте выключить фаервол/антивирус.
    Спасибо.

  10. #30

    По умолчанию

    А кто то пробовал использовать телеграмм бота? Используя библиотеку Telegram.Bot.dll ?
    Либо хотя бы код для отправки GET запроса используя httpClient. Перепробовал различные варианты по примерам в инете, никак не работает. Предполагаю, что есть какие то особенности MasterSCADA, которые не дают адекватно работать.

    В VisualStudio:
    using System;
    using System.Threading;
    using System.Threading.Tasks;
    using Telegram.Bot;
    using Telegram.Bots.Extensions.Polling;
    using Telegram.Bot.Types;
    using Telegram.Bot.Exceptions;

    namespace TelegramBotExperiments
    {

    class Program
    {
    static ITelegramBotClient bot = new TelegramBotClient("TOKEN");

    static void Main(string[] args)
    {
    Console.WriteLine("Запущен бот " + bot.GetMeAsync().Result.FirstName);

    bot.SendTextMessageAsync(1131266378, "проверка");
    Console.ReadLine();
    }
    }
    } - ВСЕ РАБОТАЕТ

    В MasterSCADA:
    using System;
    using MasterSCADA.Script.FB;
    using MasterSCADA.Hlp;
    using FB;
    using FB.FBAttributes;
    using System.Linq;
    using System.Threading.Tasks;
    using System.Threading;
    using Telegram.Bot;
    using Telegram.Bot.Types;
    using Telegram.Bot.Exceptions;
    using Telegram.Bot.Args;
    using Telegram.Bot.Extensions.Polling;


    public partial class ФБ : ScriptBase
    {
    static ITelegramBotClient bot = new TelegramBotClient("TOKEN");

    public override void Start()
    {
    BotID=bot.BotId;
    bot.SendTextMessageAsync(1131266378, "проверка");

    }

    public override void Execute()
    {
    if (Послать==true)
    {
    ТекстОшибки="Отправлено";
    bot.SendTextMessageAsync(1131266378, "проверка");
    }
    }
    } - НЕ РАБОТАЕТ
    Последний раз редактировалось DarkNOX; 19.12.2022 в 07:01.

Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя

Похожие темы

  1. Telegram-бот для облачного сервиса OwenCloud @OwenCloudBot
    от Евгений Багаев в разделе Облачный сервис OwenCloud
    Ответов: 62
    Последнее сообщение: 13.10.2023, 17:32
  2. Корпоративный канал ОВЕН в Telegram
    от Maximus в разделе Трёп (Курилка)
    Ответов: 5
    Последнее сообщение: 30.03.2023, 13:09
  3. Android. WhatsApp классная прога !!! Так ли это ?
    от Евгений_Томск в разделе Трёп (Курилка)
    Ответов: 1
    Последнее сообщение: 24.08.2013, 00:48
  4. Ответов: 1
    Последнее сообщение: 26.06.2013, 12:34
  5. ШИМ модуль
    от Игоррр в разделе ПЛК1хх
    Ответов: 8
    Последнее сообщение: 22.08.2011, 12:20

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •