Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
telegram-bot
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
community
telegram-bot
Commits
14a30ac2
Commit
14a30ac2
authored
Nov 12, 2018
by
Sergey Antonovich
🇯🇵
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Загрузить новый файл
parent
e95ee0fb
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
138 additions
and
0 deletions
+138
-0
source/Телеграм_Бот__Synergy__-_Установка_на_Linux.md
source/Телеграм_Бот__Synergy__-_Установка_на_Linux.md
+138
-0
No files found.
source/Телеграм_Бот__Synergy__-_Установка_на_Linux.md
0 → 100644
View file @
14a30ac2
# Телеграм Бот (Synergy) - Установка на Linux
*
Создаем папку (Например: на рабочем столе с названием "tSynergy")
*
Создаем файл js (Например: bot.js)
*
В этой папке открываем терминал и пишем команды:
```
bash
sudo
-i
```
```
bash
cd
/home/
{
username
}
/Рабочий
\
Стол/tSynergy
```
```
bash
apt-get update
```
```
bash
apt-get upgrade
```
```
bash
apt-get
install
nodejs
```
```
bash
apt-get
install
npm
```
```
bash
npm init
```
*
Нажимаем enter до конца.
*если будет запрашивать название то введите что угодно*
*
Теперь отредактируем файл
`package.json`
```
bash
nano package.json
```
*
В строке "scripts" будет ниже строка "test" ее мы и будем менять. Должно получится так.
```
json
"start"
:
"nodemon bot.js"
В
результате
должно
быть
что-то
похожее:
{
"name"
:
"..."
,
"version"
:
"1.0.0"
,
"description"
:
""
,
"main"
:
"bot.js"
,
"scripts"
:{
"start"
:
"nodemon bot.js"
},
"author"
:
""
,
"license"
:
"ISC"
,
"dependencies"
:{
"nodemon"
:
"^1.18.6"
}
}
```
*
Дальше: устанавливаем библиотеки
```
bash
npm i node-telegram-bot-api nodemon najax crypto fs
```
*
Запускаем наш бот
```
bash
npm run start
```
*
Должно выйти нечто такое:
```
bash
[
nodemon] 1.18.6
[
nodemon] to restart at any
time
, enter
`
rs
`
[
nodemon] watching:
*
.
*
[
nodemon] starting
`
node bot.js
`
[
nodemon] clean
exit
- waiting
for
changes before restart
```
*
Если это так то можно начать писать скрипт в файле
`bot.js`
. Добавьте код ниже чтобы начать работу с Телеграм Ботом.
```
javascript
const
TBOT
=
require
(
'
node-telegram-bot-api
'
);
const
bot
=
new
TBOT
(
ACCESS_TOKEN
,{
polling
:
true
});
const
CONTAINER_HOST_NAME
=
'
http://site.arta.pro/Synergy/
'
;
const
CONTAINER_LOGIN
=
'
1
'
;
const
CONTAINER_PASSWORD
=
'
1
'
;
function
api
(){
var
_m
=
typeof
arguments
[
0
]
===
'
string
'
?
arguments
[
0
]
:
typeof
arguments
[
1
]
===
'
string
'
?
arguments
[
1
]
:
typeof
arguments
[
2
]
===
'
string
'
?
arguments
[
2
]
:
''
;
var
_o
=
typeof
arguments
[
0
]
===
'
object
'
?
arguments
[
0
]
:
typeof
arguments
[
1
]
===
'
object
'
?
arguments
[
1
]
:
typeof
arguments
[
2
]
===
'
object
'
?
arguments
[
2
]
:
{};
var
_c
=
typeof
arguments
[
0
]
===
'
function
'
?
arguments
[
0
]
:
typeof
arguments
[
1
]
===
'
function
'
?
arguments
[
1
]
:
typeof
arguments
[
2
]
===
'
function
'
?
arguments
[
2
]
:
false
;
var
log
=
function
(
q
,
err
){
console
.
log
(
'
Request url
'
,
url
);
console
.
log
(
'
Request status
'
,
q
.
status
);
console
.
log
(
'
Request status text
'
,
q
.
statusText
);
console
.
log
(
'
Request response
'
,
JSON
.
parse
(
""
+
q
.
responseText
));
console
.
log
(
'
Request failed error
'
,
(
err
?
err
.
message
:
'
none
'
));
};
try
{
var
url
=
CONTAINER_HOST_NAME
.
replace
(
/
\/
Synergy
\/?
|
\/
rest
\/
api
\/?
/i
,
''
)
+
'
/Synergy/rest/api/
'
+
_m
.
replace
(
/
(
.*rest
\/
api
?\/)
/
,
''
);
return
ajax
({
url
:
url
,
type
:(
!
_o
||
!
_o
.
hasOwnProperty
(
'
type
'
)?
'
GET
'
:
_o
.
type
),
async
:(
!
_o
||
!
_o
.
hasOwnProperty
(
'
async
'
)?
false
:
_o
.
async
),
beforeSend
:
function
(
xhr
){
xhr
.
setRequestHeader
(
'
Authorization
'
,
'
Basic
'
+
Buffer
((
!
_o
||
!
_o
.
login
||
!
_o
.
password
?
CONTAINER_LOGIN
+
'
:
'
+
CONTAINER_PASSWORD
:
_o
.
login
+
'
:
'
+
_o
.
password
)).
toString
(
'
base64
'
));},
data
:(
!
_o
||
!
_o
.
hasOwnProperty
(
'
data
'
)
?
{}
:
_o
.
data
),
dataType
:(
!
_o
||
!
_o
.
hasOwnProperty
(
'
dataType
'
)?
'
json
'
:
_o
.
dataType
)
}).
then
(
function
(
response
,
state
,
query
){
log
(
query
);
if
(
_c
)
_c
(
response
);
}).
fail
(
function
(
response
,
state
,
query
){
log
(
query
);
if
(
_c
)
_c
(
response
);
})[(
_o
&&
_o
.
hasOwnProperty
(
'
dataType
'
)
&&
_o
.
dataType
==
'
text
'
?
'
responseText
'
:
'
responseJSON
'
)];
}
catch
(
err
){
log
({
status
:
500
,
statusText
:
'
internal server error
'
,
responseText
:
''
},
err
);
return
err
.
message
;
}
}
/**
* Результат выполнения API в консоле
*/
console
.
log
(
api
(
'
person/auth
'
));
bot
.
onText
(
/
\/
start/
,
msg
=>
{
console
.
log
(
msg
,
null
,
4
);
});
```
*
Если это не так то смотрите консольные ошибки и попытайся их устранить. (Такое не должно впринципе произойти)
## Как получить access_token?
*
Запустите данный бот: @BotFather
[
Запустить
](
https://t.me/BotFather
)
*
Выполните команду:
`/newbot`
*
Бот запросит ввести название вашего нового бота.
<br>
Я указал
`tSynergy_bot`
.
<br>
Приставка
`Bot`
или
`_bot`
обязательна.
*
Копируем наш токен после строки: Use this token to access the HTTP API
*
Выполняем команду:
`/mybots`
*
Выбираем наш созданный бот и переходим в него по ссылке.
## Ссылки на различные библиотеки по Telegram API
Библиотека:
[
telegram-node-bot
](
https://github.com/naltox/telegram-node-bot
)
Библиотека:
[
node-telegram-bot-api
](
https://github.com/yagop/node-telegram-bot-api
)
Различные библиотеки под другие ЯП:
[
core.telegram.org
](
https://core.telegram.org/bots/samples
)
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment