 |
|

05.11.2024, 21:52
|
|
Участник форума
Регистрация: 28.11.2017
Сообщений: 180
С нами:
4450953
Репутация:
73
|
|
Всем привет.
Как правильно юзать эту функи для обратной связи в телеге? (Не помню откуда вырезал, если честно)
Юзаю сейчас в onLoad(), но после reconnect(), игра никак не реагирует на команды отправленные с телеги
Lua:
Код:
function
onLoad
(
)
getLastUpdate
(
)
telegram_task
=
newTask
(
get_telegram_updates
,
1000
)
end
Lua:
Код:
function
getLastUpdate
(
)
async_http_request
(
'https://api.telegram.org/bot'
..
token_telegram
..
'/getUpdates?chat_id='
..
chatid_telegram
..
'&offset=-1'
,
''
,
function
(
result
)
if
result
then
local
proc_table
=
json
.
decode
(
result
)
if
proc_table
.
ok
then
if
#
proc_table
.
result
>
0
then
local
res_table
=
proc_table
.
result
[
1
]
if
res_table
then
updateid
=
res_table
.
update_id
end
else
updateid
=
1
end
end
end
end
)
end
Lua:
Код:
function
get_telegram_updates
(
)
-- функция получения сообщений от юзера
while
not
updateid
do
wait
(
0
)
end
-- ждем пока не узнаем последний ID
local
runner
=
requestRunner
(
)
local
reject
=
function
(
)
end
local
args
=
''
while
true
do
url
=
'https://api.telegram.org/bot'
..
token_telegram
..
'/getUpdates?chat_id='
..
chatid_telegram
..
'&offset=-1'
-- создаем ссылку
threadHandle
(
runner
,
url
,
args
,
processing_telegram_messages
,
reject
)
wait
(
0
)
end
end
Сообщение от Спойлер
Lua:
Код:
function
processing_telegram_messages
(
result
)
-- функция проверОчки того что отправил чел
if
result
then
-- тута мы проверяем все ли верно
local
proc_table
=
json
.
decode
(
result
)
if
proc_table
.
ok
then
if
#
proc_table
.
result
>
0
then
local
res_table
=
proc_table
.
result
[
1
]
if
res_table
then
if
res_table
.
update_id
~=
updateid
then
updateid
=
res_table
.
update_id
local
message_from_user
=
res_table
.
message
.
text
if
message_from_user
then
-- и тут если чел отправил текст мы сверяем
local
textTg
=
u8
:
decode
(
message_from_user
)
..
" "
--добавляем в конец пробел дабы не произошли тех. шоколадки с командами(типо чтоб !q не считалось как !qq)
local
textTg2
=
u8
:
decode
(
message_from_user
)
if
textTg2
:
find
(
"%/send (%d+) (.+)"
)
then
local
local_bot_id
,
sendArg
=
textTg2
:
match
(
"^/send (%d+) (.+)"
)
if
tonumber
(
local_bot_id
)
==
getBotId
(
)
then
sendInput
(
sendArg
)
sendTelegramNotification
(
'Вы написали: "'
..
sendArg
..
'"'
)
end
end
if
textTg2
:
find
(
"^/stats (%d+)"
)
then
local
local_botid
=
textTg2
:
match
(
"/stats (%d+)"
)
if
tonumber
(
local_botid
)
==
getBotId
(
)
then
sendInput
(
"/stats"
)
show_stats_info
=
true
end
end
if
textTg2
:
find
(
"^/diag (%d+) (%d) (%d+) (.*)"
)
then
local
argument_id
,
argument_button
,
argument_listbox
,
argument_input
=
textTg2
:
match
(
"^/diag (%d+) (%d) (%d+) (.*)"
)
sendDialogResponse
(
tonumber
(
argument_id
)
,
tonumber
(
argument_button
)
,
tonumber
(
argument_listbox
)
,
tostring
(
argument_input
)
)
end
if
textTg2
:
match
(
'^/rsamp (%d+) (.+)'
)
then
local
id_rsamp_arg
,
rsamp_arg
=
textTg2
:
match
(
'^/rsamp (%d+) (.+)'
)
if
tonumber
(
id_rsamp_arg
)
==
getBotId
(
)
then
runCommand
(
rsamp_arg
)
end
end
if
textTg2
:
match
(
'^/log (%d+)'
)
then
local
ar_for_log
=
textTg2
:
match
(
'^/log (%d+)'
)
if
tonumber
(
ar_for_log
)
==
getBotId
(
)
then
log_chat_serv_info
=
not
log_chat_serv_info
sendTelegramNotification
(
log_chat_serv_info
and
"Логирование выключено"
or
"Логирование включено"
)
end
end
if
textTg2
:
match
(
'^/chatl (%d+)'
)
then
local
arg_for_id_bot
=
textTg2
:
match
(
'^/chatl (%d+)'
)
if
tonumber
(
arg_for_id_bot
)
==
getBotId
(
)
then
log_chat_all
=
not
log_chat_all
sendTelegramNotification
(
log_chat_all
and
"Логирование чата выключено"
or
"Логирование чата включено"
)
end
end
if
textTg2
:
match
(
'^/binfo'
)
then
sendTelegramNotification
(
getBotNick
(
)
..
"["
..
getBotId
(
)
..
"]"
)
if
next
(
staff_on_roulette
)
then
for
k
,
v
in
ipairs
(
staff_on_roulette
)
do
print
(
"Количество рулеток "
..
k
..
" Название рулеток "
..
v
)
end
end
end
if
textTg2
:
match
(
"^/case"
)
then
if
not
next
(
status
.
item_list
)
then
sendInput
(
"/stats"
)
save_case_item
=
true
end
for
k
,
v
in
pairs
(
status
.
item_list
)
do
sendTelegramNotification
(
"[№"
..
v
.
index
..
"] "
..
v
.
name
..
" "
..
" ["
..
v
.
count
..
"шт]"
)
end
end
end
end
end
end
end
end
end
[
/
spoiler
]
|
|
|

06.11.2024, 17:52
|
|
Новичок
Регистрация: 28.11.2017
Сообщений: 2
С нами:
4450953
Репутация:
73
|
|
how can i open the esc menu? (make the clock icon appear next to my name), with commands and with lua?
|
|
|

06.11.2024, 19:35
|
|
Участник форума
Регистрация: 28.10.2022
Сообщений: 260
С нами:
1865910
Репутация:
48
|
|
Сообщение от sVor
Да так я уже пробовал, все равно шлет ошибку попытки подключения
Если юзать VPN или просто пинговать настоящий IP на ПК то нормально, а вот именно с прокси это не катит
для прокси тас по другому надо, буду дома, скину шаблон, сам несколько часов ебался
|
|
|

06.11.2024, 21:01
|
|
Участник форума
Регистрация: 03.06.2022
Сообщений: 188
С нами:
2078129
Репутация:
48
|
|
Сообщение от constersuonsis
для прокси тас по другому надо, буду дома, скину шаблон, сам несколько часов ебался
Да я уже разобрался, не надо, спасибо
|
|
|

09.11.2024, 21:45
|
|
Флудер
Регистрация: 19.06.2022
Сообщений: 2,997
С нами:
2055431
Репутация:
3
|
|
Сообщение от MatveyArz
Хотел спросить,бот заходит с моего айпи ,или как? То есть меня забанят по айпи если вычеслят бота?ну тоесть я без прокси запущу бота ,то при его входе ,админам какой айпи будет показываться?
если запустишь со своего пк без прокси - айпи будет твоей сети
|
|
|

09.11.2024, 21:46
|
|
Участник форума
Регистрация: 03.11.2022
Сообщений: 275
С нами:
1857622
Репутация:
33
|
|
Хелп, хочу зайди на аризону рп с прокси, пишет connection attempt failed, что делать?
|
|
|

10.11.2024, 01:29
|
|
Участник форума
Регистрация: 03.06.2022
Сообщений: 188
С нами:
2078129
Репутация:
48
|
|
Сообщение от Rei
getAllPlayers()
Возможно аналогично реализовать getAllChars?
|
|
|

10.11.2024, 01:37
|
|
Флудер
Регистрация: 19.06.2022
Сообщений: 2,997
С нами:
2055431
Репутация:
3
|
|
Сообщение от sVor
Возможно аналогично реализовать getAllChars?
В раксампе нет механник гта, тут не существует педов, как таковых
|
|
|

10.11.2024, 03:36
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2017
Сообщений: 1,397
С нами:
4837380
Репутация:
168
|
|
Сообщение от whyega52
В раксампе нет механник гта, тут не существует педов, как таковых
Может собирают инфы через rpc?
|
|
|

10.11.2024, 20:47
|
|
Постоянный
Регистрация: 01.08.2020
Сообщений: 988
С нами:
3043831
Репутация:
163
|
|
Сообщение от nightaiga
омп сделал валидацию диалогов, и теперь чтобы с ним взаимодействовать надо слать листайтем 65535, из за этого на омп серверах диалоги не отправляются, есть возможность пофиксить это?
временное решение, пока не релизнут (работает ток на последней версии, не бетовской)
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|