Обновление переменных
Всем доброго времени суток! Познаю программирование 3 день. Пишу ТГ бота, необходимо чтобы при нажатии на кнопку "Инфо о сервере", выводились актуальные данные из JSON, гугл мне так и не помог. Выводятся только данные полученные при запуске кода. Направьте в верном направлении, куда копать?
import requests
import json
TOKEN = "`TOKEN`"
chat_id = "`CHAT ID`"
message6 = "Выполняется запуск игрового сервера"
url = f"https://api.telegram.org/bot{TOKEN}/sendMessage?chat_id={chat_id}&text={message6}"
print(requests.get(url).json()) # Эта строка отсылает сообщение
import time
import logging
import asyncio
from aiogram import Bot, Dispatcher, executor, types
MSG = "Программировал ли ты сегодня, {}?"
logging.basicConfig(level=logging.INFO)
bot = Bot(token=TOKEN)
dp = Dispatcher(bot=bot)
@dp.message_handler(commands=["ident"])
async def start_handler(message: types.Message):
user_full_name = message.from_user.full_name
await message.reply(f"Привет, {user_full_name}!\nИдентификатор поиска сервера 85568392928905817/101 ")
for i in range(7):
await asyncio.sleep(60*60*24)
await bot.send_message(user_id, MSG.format(user_name))
# from aiogram import types
@dp.message_handler(commands="info")
async def cmd_start(message: types.Message):
keyboard = types.ReplyKeyboardMarkup()
button_1 = types.KeyboardButton(text="Инфо о сервере")
keyboard.add(button_1)
button_2 = "Чтение логов"
keyboard.add(button_2)
button_3 = "Идентификатор сервера"
keyboard.add(button_3)
await message.answer("Что нужно сделать?", reply_markup=keyboard)
# from aiogram.dispatcher.filters import Text
@dp.message_handler(lambda message: message.text == "Инфо о сервере")
async def with_puree(message: types.Message):
await message.reply(f" {name}\n{addr}\nИгроков: {players} из {max_players}")
def my_func():
return start_handler
api = "https://api.steampowered.com/IGameServersService/GetServerList/v1/?key=B5582CAD1112CCA94A9524EB72E8D6A4&filter=addr%5C95.165.9.26:27016"
response = requests.get(api)
steam = response.json()
resp = steam['response']
tt = resp['servers']
addr = (tt[0])['addr']
name = (tt[0])['name']
players = (tt[0])['players']
max_players = (tt[0])['max_players']
from aiogram.types import InputFile
path = "C:/Users/kudri/Documents/Euro Truck Simulator 2/server.log.txt" # или "folder/filename.ext"
@dp.message_handler(lambda message: message.text == "Чтение логов")
async def with_puree(message: types.Message):
await message.answer_document(InputFile(path))
@dp.message_handler(lambda message: message.text == "Идентификатор сервера")
async def with_puree(message: types.Message):
await message.reply(f" Твой идентификатор 85568392928905817/101 ")
if __name__ == "__main__":
executor.start_polling(dp)