/usr/bin/python
, которая ссылается на python3
. Но её по какой-то причине не было. Возможно, случайно удалили её вручную. Эту проблему должна исправить переустановка пакета python-is-python3.sudo apt update
sudo apt upgrade
sudo apt install --reinstall python-is-python3
cd /usr/bin
sudo ln -s python3 python
ls -la /usr/bin/python
? open()
в Python принимает пути с любыми слэшами, независимо от платформы. Поэтому на Windows можно использовать обычные слэши (/). with open("\\папка\\user_file", 'w+') as file:
file.write("text")
with open(r"\папка\user_file", 'w+') as file:
file.write("text")
with open("C:\\папка\\user_file", 'w+') as file:
file.write("text")
get_args()
возвращает строку. В таком случае эту строку можно разбить на 2 части с помощью метода split()
, установив параметр maxsplit=1
, чтобы только отделить user ID от сообщения:@dp.message_handler(commands=['r'])
async def r(message: types.Message):
args = message.get_args().split(maxsplit=1)
if len(args == 2):
user_id, msg = int(args[0]), args[1]
await dp.bot.send_message(user_id, msg)
get_wether
вы осуществляете HTTP-запрос синхронной функцией requests.get
. Это не очень хорошая практика, т.к. она нивелирует преимущества асинхронного кода. Советую использовать, например, aiohttp вместо requests для осуществления HTTP-запросов из асинхронного кода. Более того, если вы используете aiogram, то aiohttp уже должна быть установлена, т.к. aiogram на неё опирается. msg
, в котором есть все элементы списка message.get_args()
, начиная со второго.@dp.message_handler(commands=['r'])
async def r(message: types.Message):
user, *msg = message.get_args()
await dp.bot.send_message(user, ' '.join(msg))