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

  #1  
Старый 12.09.2025, 23:30
skym
Познающий
Регистрация: 23.08.2024
Сообщений: 30
С нами: 909138

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

import time

import requests

import threading

import re

# 🔧 Настройки

BOT_TOKEN = ""

CHAT_ID = "" # пример: 123456789 или -1001234567890

LOG_PATH = r"C:\SAMPLOGS\RakSAMP Lite.log"

OUT_FILE = r"C:\SAMPLOGS\to_game.txt"

def send_to_telegram(text: str):

"""Отправка текста в Telegram"""

url = f"https://api.telegram.org/bot{BOT_TOKEN}/sendMessage"

try:

requests.post(url, data={"chat_id": CHAT_ID, "text": text}, timeout=10)

except Exception as e:

print("Ошибка отправки:", e)

def remove_colors(text: str) -> str:

return re.sub(r"\{[0-9A-Fa-f]{6}\}", "", text)

def tail_log():

"""Слежение за логом и пересылка [MSG]"""

try:

with open(LOG_PATH, "r", encoding="cp1251", errors="ignore") as f:

f.seek(0, 2)

while True:

line = f.readline()

if not line:

time.sleep(1)

continue

if "[MSG]" in line:

clean = remove_colors(line.strip())

send_to_telegram(clean)

except FileNotFoundError:

print("Не найден лог:", LOG_PATH)

def listen_telegram():

"""Слушаем команды в Telegram (!cand ...)"""

url = f"https://api.telegram.org/bot{BOT_TOKEN}/getUpdates"

offset = None

while True:

try:

resp = requests.get(url, params={"timeout": 10, "offset": offset}, timeout=15).json()

for update in resp.get("result", []):

offset = update["update_id"] + 1

msg = update.get("message", {})

text = msg.get("text", "")

if text.startswith("!cand "):

command = text[len("!cand "):]

with open(OUT_FILE, "a", encoding="utf-8") as out:

out.write(command + "\n")

send_to_telegram(f"✅ В игру отправлено: {command}")

except Exception as e:

print("Ошибка получения обновлений:", e)

time.sleep(1)

if __name__ == "__main__":

threading.Thread(target=tail_log, daemon=True).start()

listen_telegram()

это чат из игры логирует

код для того чтобы в игру текст выводил я через чат гтп делал потомучто лень уже думать, и блять на это 3 часа убил, бесполезно

чекни:





Код:
🔥 Понял, тебе нужно связать Telegram-бота с RakSAMP, чтобы при написании команды !cand в телеграм-чате бот пересылал сообщение прямо в игру через sendInput("текст").

Сделаем так:

Python-скрипт работает как Telegram-бот.

При получении команды из чата он вызывает RakSAMP-функцию sendInput.

Для вызова Lua-функций мы будем писать промежуточный файл (например command.txt), а Lua-скрипт в RakSAMP будет читать этот файл и отправлять сообщение.

🔹 Часть 1. Python (Telegram-бот)

Сохрани как tg_bridge.py:

import telebot
import time

TOKEN = "ТОКЕН_ТВОЕГО_БОТА"  # замени на свой токен
CHAT_ID = -100123456789       # id беседы (можно взять у @getidsbot)

bot = telebot.TeleBot(TOKEN)

@bot.message_handler(commands=["cand"])
def handle_cand(message):
    if message.chat.id == CHAT_ID:
        # сохраняем текст в файл для RakSAMP
        with open("command.txt", "w", encoding="utf-8") as f:
            f.write("Привет из Telegram!")
        bot.reply_to(message, "🔥 Сообщение отправлено в игру!")

print("Бот запущен...")
bot.infinity_polling()

🔹 Часть 2. Lua (RakSAMP-скрипт)

Сохрани как tg_input.lua и положи в scripts/:

require("addon")

print("[TG-BRIDGE] Скрипт запущен.")

-- таск для проверки файла раз в 2 секунды
task = newTask(function()
    while true do
        local file = io.open("command.txt", "r")
        if file then
            local text = file:read("*a")
            file:close()
            if text ~= "" then
                sendInput(text) -- отправить в чат
                -- очищаем файл
                local clear = io.open("command.txt", "w")
                clear:close()
                print("[TG-BRIDGE] Отправлено в чат: " .. text)
            end
        end
        wait(2000) -- проверяем каждые 2 сек
    end
end, false)

⚙️ Как использовать

Запусти tg_bridge.py (бот в Telegram).

Запусти RakSAMP, чтобы подгрузился tg_input.lua.

Напиши в беседе с ботом команду:

/cand

(или !cand, если настроишь хендлер на текст).

Сообщение из command.txt бот отправит в чат игры.




этот код написал чат гпт типо чтобы сообщения в самп кидать

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

  #2  
Старый 12.09.2025, 23:42
chromiusj
Флудер
Регистрация: 10.08.2021
Сообщений: 6,010
С нами: 2505538

Репутация: 133


По умолчанию

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

import time
import requests
import threading
import re
# 🔧 Настройки
BOT_TOKEN = ""
CHAT_ID = "" # пример: 123456789 или -1001234567890
LOG_PATH = r"C:\SAMPLOGS\RakSAMP Lite.log"
OUT_FILE = r"C:\SAMPLOGS\to_game.txt"
def send_to_telegram(text: str):
"""Отправка текста в Telegram"""
url = f"https://api.telegram.org/bot{BOT_TOKEN}/sendMessage"
try:
requests.post(url, data={"chat_id": CHAT_ID, "text": text}, timeout=10)
except Exception as e:
print("Ошибка отправки:", e)
def remove_colors(text: str) -> str:
return re.sub(r"\{[0-9A-Fa-f]{6}\}", "", text)
def tail_log():
"""Слежение за логом и пересылка [MSG]"""
try:
with open(LOG_PATH, "r", encoding="cp1251", errors="ignore") as f:
f.seek(0, 2)
while True:
line = f.readline()
if not line:
time.sleep(1)
continue
if "[MSG]" in line:
clean = remove_colors(line.strip())
send_to_telegram(clean)
except FileNotFoundError:
print("Не найден лог:", LOG_PATH)
def listen_telegram():
"""Слушаем команды в Telegram (!cand ...)"""
url = f"https://api.telegram.org/bot{BOT_TOKEN}/getUpdates"
offset = None
while True:
try:
resp = requests.get(url, params={"timeout": 10, "offset": offset}, timeout=15).json()
for update in resp.get("result", []):
offset = update["update_id"] + 1
msg = update.get("message", {})
text = msg.get("text", "")
if text.startswith("!cand "):
command = text[len("!cand "):]
with open(OUT_FILE, "a", encoding="utf-8") as out:
out.write(command + "\n")
send_to_telegram(f"✅ В игру отправлено: {command}")
except Exception as e:
print("Ошибка получения обновлений:", e)
time.sleep(1)
if __name__ == "__main__":
threading.Thread(target=tail_log, daemon=True).start()
listen_telegram()
это чат из игры логирует

код для того чтобы в игру текст выводил я через чат гтп делал потомучто лень уже думать, и блять на это 3 часа убил, бесполезно
ну и сиди с этим кодом сам мучайся сделанный какой-то кривой китайской нейронкой, раз не можешь дать нейросети изучить апи раксампа, и дать примеры скриптов по типу https://www.blast.hk/threads/180478/ чтоб она нормальный код дала
 
Ответить с цитированием

  #3  
Старый 13.09.2025, 00:02
skym
Познающий
Регистрация: 23.08.2024
Сообщений: 30
С нами: 909138

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

читай:





Код:
Окей 👍 Я понял, ты не хочешь, чтобы я сейчас переписывал твой код, а просто чтобы я разобрался в нём и в API RakSAMP.

Что делает твой код

Работа с JSON (CheckerList.json)

Хранит token, chatid и список nicknames.

Есть функции для добавления/удаления ников, форматирования JSON и возврата параметров.

Telegram API

Используется ssl.https через effil.thread (асинхронные запросы).

Реализован sendTG(msg) → отправка сообщения в чат.

get_telegram_updates() → постоянный опрос getUpdates.

processing_telegram_messages() → обработка команд из телеги:

!add ник

!dell ник

!onlist

!offlist

!cmds

RakSAMP события (libs.samp.events)

onPlayerJoin → если ник в списке, пишет в TG «зашёл».

onPlayerQuit → если ник в списке, пишет в TG «вышел».

Основной цикл

При загрузке (onLoad) → получает updateid, запускает опрос TG, шлёт в TG приветствие.

Где пробел

Сейчас бот работает только в одну сторону:

Игра → Telegram (через join/quit + ручные команды).

Telegram → пока только управление списком.

Но в коде нет вызова API RakSAMP для отправки сообщений в игру.

Что есть в API RakSAMP (RakBot / addon)

sampSendChat("текст") → сразу пишет в чат игры.

sampSendCommand("/команда") → отправляет команду.

sendInput("текст") → вводит текст в чат (как будто вручную).

sampAddChatMessage("текст", цвет) → сообщение в клиентский чат (видишь только ты).

onLoad, onUnload → хуки на загрузку/выгрузку.

sampev.onServerMessage → ловить сообщения сервера.

sampev.onSendChat → ловить отправку сообщений.

✅ Вывод:
Твой код уже умеет:

работать с Telegram,

следить за игроками,

хранить список в JSON.

Но он не вызывает sampSendChat или sendInput внутри обработчика TG-команд. Поэтому твои команды из телеги не отображаются в чате игры.

Хочешь, я сделаю тебе карту соответствий: какие функции в RakSAMP API отвечают за ввод/вывод, чтобы ты понимал куда их встраивать?

Вы сказали:
хочу
ChatGPT сказал:

🔥 Отлично, вот тебе карта соответствий API RakSAMP, специально под твой случай.

📌 Ввод сообщений в игру

sampSendChat("текст")

Отправляет текст в чат игры (как будто ты написал и нажал Enter).

Работает для всех (видят игроки + сервер).

sampSendCommand("/команда")

Отправляет команду на сервер (например /stats).

Отличие: не просто сообщение, а именно команду.

sendInput("текст")

Вводит текст в чат от лица игрока, но иногда работает криво (зависит от сборки).

По сути аналогично sampSendChat, но идёт через эмуляцию клавиатуры.

📌 Вывод сообщений (только для клиента)

sampAddChatMessage("текст", цвет)

Сообщение видно только тебе (например [TG] сообщение пришло).

Используется для отладки и отображения статуса.

print("текст")

Выводит сообщение в консоль RakSAMP, но не в игровой чат.

📌 Хуки (чтобы ловить события)

sampev.onServerMessage(color, text)

Ловит все серверные сообщения.

Можно фильтровать по text.

sampev.onSendChat(text)

Срабатывает, когда ты сам отправляешь сообщение.

sampev.onShowDialog(...)

Ловит открытие диалога (например при регистрации/авторизации).

📌 Практика (как встроить в твой код)

В обработчике телеграм-команд (processing_telegram_messages) нужно:

elseif text:find('^!cand%s+(.+)$') then
    local msg = text:match('^!cand%s+(.+)$')
    sampSendChat(msg) -- отправляем в игровой чат
    sendTG("✅ Сообщение отправлено в игру: " .. msg)
end

⚡ Таким образом:

из TG → ловишь команду !cand ТЕКСТ → sampSendChat("ТЕКСТ").

в игре → видят все игроки.

в TG → получаешь подтверждение.

Хочешь, я отмечу прямо в твоём коде, куда воткнуть этот кусок, чтобы оно работало?


вот так

ну блять я не хочу париться сидеть, я хочу простой код чтобы из тг бот пересылал сообщения в чат игры

какие библеотеки надо установить чтобы нормально работал раксамп с апи?

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

ну и сиди с этим кодом сам мучайся сделанный какой-то кривой китайской нейронкой, раз не можешь дать нейросети изучить апи раксампа, и дать примеры скриптов по типу https://www.blast.hk/threads/180478/ чтоб она нормальный код дала
библиотеки(samp.events, cjson, effil, ffi, bit, socket, inicfg, encoding, ssl.https). где найти эти библеотеки? просто надо для скрипта

[01:46:33] [LUA] Loading scripts...

[01:46:33] [LUA] C:\Users\Арсений\Desktop\scripts\Tolik.lua: 10: module 'cjson' not found:

no field package.preload['cjson']

no file 'C:\Users\Арсений\Desktop\scripts\libs\cjso n.lua'

no file 'C:\Users\Арсений\Desktop\scripts\libs\cjso n\init.lua'

no file 'C:\Users\Арсений\Desktop\scripts\cjson.lua '

no file 'C:\Users\Арсений\Desktop\scripts\cjson\ini t.lua'

no file 'C:\Users\Арсений\Desktop\scripts\libs\cjso n.dll'

https://www.blast.hk/threads/234784/ варнинги кидает
 
Ответить с цитированием

  #4  
Старый 13.09.2025, 00:57
Нейросеть
Участник форума
Регистрация: 05.04.2024
Сообщений: 137
С нами: 1111232

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

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

читай:





Код:
Окей 👍 Я понял, ты не хочешь, чтобы я сейчас переписывал твой код, а просто чтобы я разобрался в нём и в API RakSAMP.

Что делает твой код

Работа с JSON (CheckerList.json)

Хранит token, chatid и список nicknames.

Есть функции для добавления/удаления ников, форматирования JSON и возврата параметров.

Telegram API

Используется ssl.https через effil.thread (асинхронные запросы).

Реализован sendTG(msg) → отправка сообщения в чат.

get_telegram_updates() → постоянный опрос getUpdates.

processing_telegram_messages() → обработка команд из телеги:

!add ник

!dell ник

!onlist

!offlist

!cmds

RakSAMP события (libs.samp.events)

onPlayerJoin → если ник в списке, пишет в TG «зашёл».

onPlayerQuit → если ник в списке, пишет в TG «вышел».

Основной цикл

При загрузке (onLoad) → получает updateid, запускает опрос TG, шлёт в TG приветствие.

Где пробел

Сейчас бот работает только в одну сторону:

Игра → Telegram (через join/quit + ручные команды).

Telegram → пока только управление списком.

Но в коде нет вызова API RakSAMP для отправки сообщений в игру.

Что есть в API RakSAMP (RakBot / addon)

sampSendChat("текст") → сразу пишет в чат игры.

sampSendCommand("/команда") → отправляет команду.

sendInput("текст") → вводит текст в чат (как будто вручную).

sampAddChatMessage("текст", цвет) → сообщение в клиентский чат (видишь только ты).

onLoad, onUnload → хуки на загрузку/выгрузку.

sampev.onServerMessage → ловить сообщения сервера.

sampev.onSendChat → ловить отправку сообщений.

✅ Вывод:
Твой код уже умеет:

работать с Telegram,

следить за игроками,

хранить список в JSON.

Но он не вызывает sampSendChat или sendInput внутри обработчика TG-команд. Поэтому твои команды из телеги не отображаются в чате игры.

Хочешь, я сделаю тебе карту соответствий: какие функции в RakSAMP API отвечают за ввод/вывод, чтобы ты понимал куда их встраивать?

Вы сказали:
хочу
ChatGPT сказал:

🔥 Отлично, вот тебе карта соответствий API RakSAMP, специально под твой случай.

📌 Ввод сообщений в игру

sampSendChat("текст")

Отправляет текст в чат игры (как будто ты написал и нажал Enter).

Работает для всех (видят игроки + сервер).

sampSendCommand("/команда")

Отправляет команду на сервер (например /stats).

Отличие: не просто сообщение, а именно команду.

sendInput("текст")

Вводит текст в чат от лица игрока, но иногда работает криво (зависит от сборки).

По сути аналогично sampSendChat, но идёт через эмуляцию клавиатуры.

📌 Вывод сообщений (только для клиента)

sampAddChatMessage("текст", цвет)

Сообщение видно только тебе (например [TG] сообщение пришло).

Используется для отладки и отображения статуса.

print("текст")

Выводит сообщение в консоль RakSAMP, но не в игровой чат.

📌 Хуки (чтобы ловить события)

sampev.onServerMessage(color, text)

Ловит все серверные сообщения.

Можно фильтровать по text.

sampev.onSendChat(text)

Срабатывает, когда ты сам отправляешь сообщение.

sampev.onShowDialog(...)

Ловит открытие диалога (например при регистрации/авторизации).

📌 Практика (как встроить в твой код)

В обработчике телеграм-команд (processing_telegram_messages) нужно:

elseif text:find('^!cand%s+(.+)$') then
    local msg = text:match('^!cand%s+(.+)$')
    sampSendChat(msg) -- отправляем в игровой чат
    sendTG("✅ Сообщение отправлено в игру: " .. msg)
end

⚡ Таким образом:

из TG → ловишь команду !cand ТЕКСТ → sampSendChat("ТЕКСТ").

в игре → видят все игроки.

в TG → получаешь подтверждение.

Хочешь, я отмечу прямо в твоём коде, куда воткнуть этот кусок, чтобы оно работало?


вот так

ну блять я не хочу париться сидеть, я хочу простой код чтобы из тг бот пересылал сообщения в чат игры

какие библеотеки надо установить чтобы нормально работал раксамп с апи?

библиотеки(samp.events, cjson, effil, ffi, bit, socket, inicfg, encoding, ssl.https). где найти эти библеотеки? просто надо для скрипта

[01:46:33] [LUA] Loading scripts...
[01:46:33] [LUA] C:\Users\Арсений\Desktop\scripts\Tolik.lua: 10: module 'cjson' not found:
no field package.preload['cjson']
no file 'C:\Users\Арсений\Desktop\scripts\libs\cjso n.lua'
no file 'C:\Users\Арсений\Desktop\scripts\libs\cjso n\init.lua'
no file 'C:\Users\Арсений\Desktop\scripts\cjson.lua '
no file 'C:\Users\Арсений\Desktop\scripts\cjson\ini t.lua'
no file 'C:\Users\Арсений\Desktop\scripts\libs\cjso n.dll'
https://www.blast.hk/threads/234784/ варнинги кидает
Боже, тут написано же прямым текстом, ты раз с нейронкой работаешь так закинь ей, а так у тебя библиотек просто нет, проще скрипт закажи у исполнителей
 
Ответить с цитированием

  #5  
Старый 13.09.2025, 01:00
skym
Познающий
Регистрация: 23.08.2024
Сообщений: 30
С нами: 909138

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

Цитата:
Сообщение от Нейросеть  

Боже, тут написано же прямым текстом, ты раз с нейронкой работаешь так закинь ей, а так у тебя библиотек просто нет, проще скрипт закажи у исполнителей
а где скачать эти библиотеки? просто исполнитель этого скрипта забанили в этом году https://www.blast.hk/threads/198100



Что это за пиздец, как этот текст в нормальный сделать
 
Ответить с цитированием

  #6  
Старый 15.09.2025, 16:42
ayuskhan
Новичок
Регистрация: 02.02.2022
Сообщений: 9
С нами: 2252919

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

работает на лаунчер?
 
Ответить с цитированием

  #7  
Старый 20.09.2025, 13:20
gasis
Новичок
Регистрация: 19.09.2025
Сообщений: 2
С нами: 343970

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

как починить Connection attempt failed? я без прокси
 
Ответить с цитированием

  #8  
Старый 25.09.2025, 10:56
Newmcpe
Новичок
Регистрация: 08.06.2017
Сообщений: 3
С нами: 4700631

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

Посоветуйте дешевые прокси для Аризоны. Кроме proxyline (цена не подходит за 1 штуку )
 
Ответить с цитированием

  #9  
Старый 25.09.2025, 21:02
skym
Познающий
Регистрация: 23.08.2024
Сообщений: 30
С нами: 909138

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

прокси6

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

Посоветуйте дешевые прокси для Аризоны. Кроме proxyline (цена не подходит за 1 штуку )
 
Ответить с цитированием

  #10  
Старый 30.09.2025, 23:35
Newmcpe
Новичок
Регистрация: 08.06.2017
Сообщений: 3
С нами: 4700631

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

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

прокси6
Не пускает на аризону, только пингует максимум
 
Ответить с цитированием
Ответ





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


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




ANTICHAT ™ © 2001- Antichat Kft.