как перевести команду с кода python на php?
у меня такой вопрос, у меня есть код который я сделал на пайтоне добавление пользователей в беседу, он работает, как можно сделать такой же код чтобы он работал только уже на php
if msg_lower[1:] == 'addadmin' or msg_lower[1:].startswith('addadmin '):
try:
user_id = re.findall(r'\[id(\d*)\|.*]', msg_orig)[0]
local = msg.split(' ')
reason = ' '.join(map(str, local[2:999]))
user = authorize.method("users.get", {"user_ids": user_id})
fullname = user[0]['first_name'] + ' ' + user[0]['last_name']
user1 = authorize.method("users.get", {"user_ids": uid, "name_case": 'gen'})
fullname1 = user1[0]['first_name'] + ' ' + user1[0]['last_name']
if not reason:
write_message(sender, "❌ | Нет причины")
else:
r = requests.get("https://api.vk.com/method/messages.addChatUser", params={
"chat_id": chat_id,
"user_id": user_id,
"access_token": API_KEY_FIRENDS,
"v": 5.131
}).json()
status = add_beseda[r["response"]]
write_message(sender, f' Редактор [id{user_id}|{fullname}] был добавлен в беседу по запросу [id|{fullname1}]\nПричина: {reason.capitalize()}' )
except:
write_message(sender, "❌ | Используйте /adadmin [id пользователя)] [reason]") ``
Ответы (1 шт):
Перевод данного кода на PHP потребует использования cURL или другой библиотеки для выполнения HTTP-запросов, так как PHP не имеет встроенной поддержки для этого, в отличие от Python. Кроме того, вам потребуется использовать сессии или другой механизм для хранения токена авторизации и других данных между запросами. Вот примерный перевод на PHP:
// Предполагается, что $msg_lower и $msg_orig уже определены и содержат текст сообщения
if (substr($msg_lower, 1) == 'addadmin' || strpos(substr($msg_lower, 1), 'addadmin ') === 0) {
try {
preg_match('/\[id(\d*)\|.*\]/', $msg_orig, $matches);
$user_id = $matches[1];
$local = explode(' ', $msg);
$reason = implode(' ', array_slice($local, 2));
// Предполагается, что функция authorize_method() уже определена и возвращает результаты вызова API
$user = authorize_method("users.get", array("user_ids" => $user_id));
$fullname = $user[0]['first_name'] . ' ' . $user[0]['last_name'];
$user1 = authorize_method("users.get", array("user_ids" => $uid, "name_case" => 'gen'));
$fullname1 = $user1[0]['first_name'] . ' ' . $user1[0]['last_name'];
if (!$reason) {
write_message($sender, "❌ | Нет причины");
} else {
$params = array(
"chat_id" => $chat_id,
"user_id" => $user_id,
"access_token" => API_KEY_FIRENDS,
"v" => "5.131"
);
$url = "https://api.vk.com/method/messages.addChatUser?" . http_build_query($params);
$r = json_decode(file_get_contents($url), true);
$status = $add_beseda[$r["response"]];
write_message($sender, "Редактор [id$user_id|$fullname] был добавлен в беседу по запросу [id$uid|$fullname1]\nПричина: " . ucfirst($reason));
}
} catch (Exception $e) {
write_message($sender, "❌ | Используйте /adadmin [id пользователя)] [reason]");
}
}
// Функция для отправки сообщений через VK API
function write_message($sender, $message) {
// Здесь должен быть ваш код для отправки сообщения через VK API
}
// Функция для авторизации и выполнения методов VK API
function authorize_method($method_name, $params) {
// Здесь должен быть ваш код для авторизации и выполнения методов VK API
}
?>
Обратите внимание, что вам нужно будет определить функции write_message и authorize_method для отправки сообщений и выполнения методов VK API соответственно. Кроме того, вам нужно будет обработать исключения и ошибки API более тщательно, чем это показано в примере выше.