HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #2121  
Старый 05.11.2024, 21:52
varkon
Участник форума
Регистрация: 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
]


 
Ответить с цитированием

  #2122  
Старый 06.11.2024, 17:52
prljav
Новичок
Регистрация: 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?
 
Ответить с цитированием

  #2123  
Старый 06.11.2024, 19:35
constersuonsis
Участник форума
Регистрация: 28.10.2022
Сообщений: 260
С нами: 1865910

Репутация: 48
По умолчанию

Цитата:
Сообщение от sVor  

Да так я уже пробовал, все равно шлет ошибку попытки подключения
Если юзать VPN или просто пинговать настоящий IP на ПК то нормально, а вот именно с прокси это не катит
для прокси тас по другому надо, буду дома, скину шаблон, сам несколько часов ебался
 
Ответить с цитированием

  #2124  
Старый 06.11.2024, 21:01
sVor
Участник форума
Регистрация: 03.06.2022
Сообщений: 188
С нами: 2078129

Репутация: 48
По умолчанию

Цитата:
Сообщение от constersuonsis  

для прокси тас по другому надо, буду дома, скину шаблон, сам несколько часов ебался
Да я уже разобрался, не надо, спасибо
 
Ответить с цитированием

  #2125  
Старый 09.11.2024, 21:45
вайега52
Флудер
Регистрация: 19.06.2022
Сообщений: 2,997
С нами: 2055431

Репутация: 3


По умолчанию

Цитата:
Сообщение от MatveyArz  

Хотел спросить,бот заходит с моего айпи ,или как? То есть меня забанят по айпи если вычеслят бота?ну тоесть я без прокси запущу бота ,то при его входе ,админам какой айпи будет показываться?
если запустишь со своего пк без прокси - айпи будет твоей сети
 
Ответить с цитированием

  #2126  
Старый 09.11.2024, 21:46
IlyaFontonov
Участник форума
Регистрация: 03.11.2022
Сообщений: 275
С нами: 1857622

Репутация: 33
По умолчанию

Хелп, хочу зайди на аризону рп с прокси, пишет connection attempt failed, что делать?
 
Ответить с цитированием

  #2127  
Старый 10.11.2024, 01:29
sVor
Участник форума
Регистрация: 03.06.2022
Сообщений: 188
С нами: 2078129

Репутация: 48
По умолчанию

Цитата:
Сообщение от Rei  

getAllPlayers()
Возможно аналогично реализовать getAllChars?
 
Ответить с цитированием

  #2128  
Старый 10.11.2024, 01:37
вайега52
Флудер
Регистрация: 19.06.2022
Сообщений: 2,997
С нами: 2055431

Репутация: 3


По умолчанию

Цитата:
Сообщение от sVor  

Возможно аналогично реализовать getAllChars?
В раксампе нет механник гта, тут не существует педов, как таковых
 
Ответить с цитированием

  #2129  
Старый 10.11.2024, 03:36
kyrtion
Познавший АНТИЧАТ
Регистрация: 05.03.2017
Сообщений: 1,397
С нами: 4837380

Репутация: 168


По умолчанию

Цитата:
Сообщение от whyega52  

В раксампе нет механник гта, тут не существует педов, как таковых
Может собирают инфы через rpc?
 
Ответить с цитированием

  #2130  
Старый 10.11.2024, 20:47
moreveal
Постоянный
Регистрация: 01.08.2020
Сообщений: 988
С нами: 3043831

Репутация: 163


По умолчанию

Цитата:
Сообщение от nightaiga  

омп сделал валидацию диалогов, и теперь чтобы с ним взаимодействовать надо слать листайтем 65535, из за этого на омп серверах диалоги не отправляются, есть возможность пофиксить это?
временное решение, пока не релизнут (работает ток на последней версии, не бетовской)
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.