Домой Беседка Программирование Отправка сообщения в Телеграмм
Рейтинг топика
  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
(3 голоса, в среднем: 5 из 5)
5 ответ(ов) в теме
kdw22
Постоялец
не в сети 8 часов
На сайте с 05.04.2019
Ботовод

Загрузил аватарку

Достижение получено 29.07.2019

Рейтинг: 5

+5 к рейтингу за загрузку аватара
24
24

За 5 ответов на форуме

Достижение получено 04.06.2019

Рейтинг: 2

+2 к рейтингу за каждые 5 ответов на форуме
Тем 3
Сообщения 121
1
08:46

Создание бота
Итак, первое, что нужно сделать, это завести бота. Для этого в списке контактов найдите @BotFather. Это специальный бот от телеграмма, он нужен для заведения ботов.

Найдите @BotFather, и отправьте ему три команды: /newBot , и два раза укажите имя нового бота. Важно, имя бота должно заканчиваться на “bot” – таковы требования.
После этого BotFather ответит вам, что всё ОК, и вернет ключ для API, который потребуется в дальнейшем.

Теперь, в списке контактов найдите созданного вами бота по имени, и нажмите кнопку start.

После этого откройте в браузере вот такую ссылку

https://api.telegram.org/botКЛЮЧ-API/getUpdates

Вы должны увидеть последнюю активность бота. Если там пусто, напишите в телеграме боту какую-нибудь чушь и обновите страницу. Ваша итоговая цель – найти chat_id.

На этом шаге вы знаете API ключ и chat_id.

Ниже код (собирает все файлы Json от кранов с ключом "balance"во всех папках Bot-a).
Условие: Для работы, необходимо включить код в проект (вопрос к админу и программисту проекта).

Спойлер
function message_Bot (path, api, id) { Components.utils.import("resource://gre/modules/FileUtils.jsm"); let folder = new FileUtils.File(path), entries = folder.directoryEntries, X = Components.Constructor("@mozilla.org/xmlextras/xmlhttprequest;1"), list = [], info = {}, message = ''; while (entries.hasMoreElements()) { let entry = entries.getNext(); entry.QueryInterface(Components.interfaces.nsIFile); if (entry.isDirectory() && entry.leafName!='_common') { list.push( entry.path ); } } list.forEach (function(item, i, arr) { let folder = new FileUtils.File(item + '\\StateData'), entries = folder.directoryEntries; while (entries.hasMoreElements()) { let entry = entries.getNext(); entry.QueryInterface(Components.interfaces.nsIFile); if (entry.isFile() && entry.leafName!='__global_state.json') { let name_facet = entry.leafName, info = JSON.parse(imns.FIO.readTextFile(imns.FIO.openNode(entry.path))); for (let key in info) { if (key =='balance' || key =='account_balance' ) { message+=name_facet.replace('.json','')+"%0A"+key+" : "+info[key]+"%0A------------------%0A" } } } } }); let x=new X(); x.open('GET', 'https://api.telegram.org/bot' + api + '/sendMessage?chat_id=' + id +' &text='+message, false); x.send(); } message_Bot ('C:\\FF', ВАШ API-KEY, ВАШ chat_id);

Редакции сообщения
04.06.2019 08:52kdw22Причина: не указано
4,5
kdw22
Постоялец
не в сети 8 часов
На сайте с 05.04.2019
Ботовод

Загрузил аватарку

Достижение получено 29.07.2019

Рейтинг: 5

+5 к рейтингу за загрузку аватара
24
24

За 5 ответов на форуме

Достижение получено 04.06.2019

Рейтинг: 2

+2 к рейтингу за каждые 5 ответов на форуме
Тем 3
Сообщения 121
2
08:58

PS: При блокировке со стороны Роскомнадзора, сообщения отправлять с прокси или vpn.

2,5
kogarashisan1
Любопытный
не в сети 2 дня
На сайте с 07.03.2019
Модератор

Почётный автор статей

Достижение получено 20.06.2019

Рейтинг: 100

+100 к рейтингу за написание полезных статей в разделе публикация

За особый вклад в проект

Достижение получено 19.06.2019

Рейтинг: 100

+100 к рейтингу за особый вклад в проект BitcoinAuto
8
8

За 5 ответов на форуме

Достижение получено 26.05.2019

Рейтинг: 2

+2 к рейтингу за каждые 5 ответов на форуме
Тем 1
Сообщения 43
3
13:22

Для решения каждой задачи - есть свои правильные инструменты и способ решения. В частности, уже работает параметр "raw=1" для контроллера:

var https = require("https"),
	fs = require("fs");

var SETTINGS = null;
eval(fs.readFileSync("C:/FF/config.js", "utf8"));
if (!SETTINGS)
	throw new Error("Нет настроек.");

https.get({
	host: "192.168.1.149",
	port: SETTINGS.remote_port,
	path: '/manage/get-state-data?bot_name=RU10&raw=1',
	method: 'GET',
	headers: {
		"x-ak": SETTINGS.access_key
	},
	rejectUnauthorized: false,
	requestCert: true
}, function (res) {

	res.resume();
	res.setEncoding('utf8');
	var rawData = '';
	res.on('data', function(chunk) { rawData += chunk; });
	res.on('end', function() {
		var json = JSON.parse(rawData);
		console.log(json);
	});

}).on('error', function (e) {

	console.log("error")

});

Итого - телеграм не нужен. Скорее было бы логично написать страничку на nw, или даже консольный скрипт, который в конце запустит блокнот.

У меня есть планы по "общей" админке на NW - она подключается ко всем контроллерам на VPS, и управляет конфигами.

4,5
kdw22
Постоялец
не в сети 8 часов
На сайте с 05.04.2019
Ботовод

Загрузил аватарку

Достижение получено 29.07.2019

Рейтинг: 5

+5 к рейтингу за загрузку аватара
24
24

За 5 ответов на форуме

Достижение получено 04.06.2019

Рейтинг: 2

+2 к рейтингу за каждые 5 ответов на форуме
Тем 3
Сообщения 121
4
18:13

Только сейчас увидел инфу про Админку.
Ну да.... полностью согласен, телеграмм не нужен.

1,5
tema1301
Любопытный
не в сети 3 недели
На сайте с 10.08.2019
Ботовод

+300 авто-сборов крипты

Достижение получено 28.08.2019

Баланс: 300

+300 авто-сбора на счёт ботовода за каждые +15 балов рейтинга
3
3

За 5 ответов на форуме

Достижение получено 17.08.2019

Рейтинг: 2

+2 к рейтингу за каждые 5 ответов на форуме

Загрузил аватарку

Достижение получено 17.08.2019

Рейтинг: 5

+5 к рейтингу за загрузку аватара
40
40

Поставил(-а) 5 лайков к сообщениям и статьям

Достижение получено 17.08.2019

Рейтинг: 2

+2 к рейтингу за каждые 5 оценок поставленных за сообщения на форуме и за статьи
Сообщения 19
5
00:39

согласна телеграм ни кчему

0,5
Вы не имеете права на публикацию сообщений в этой теме
Новые сообщения на форуме
Топ 15 пользователей за 7 дней
Место
Пользователь
Получено рейтинга
1
121.5
4
56.5
6
37.5
7
36.5
9
27.5
10
26.5
11
22.5
Поделиться с друзьями в соц. сетях:
Меню