def excel_db(name, info):
nametable = ''
wb = openpyxl.Workbook()
#wb = openpyxl.load_workbook(nametable)
list1 = wb.active
print(wb.sheetnames)
for i in range(len(info)):
if i == 0:
continue
c1 = list1.cell(row=i, column=1, value=info[i-1][0])
c2 = list1.cell(row=i, column=2, value=info[i-1][1])
wb.save(f"db_{name}.xlsx")
get_chat_member()
import telebot
bot = telebot.TeleBot("TOKEN")
CHAT_ID = -1001...
USER_ID = 700...
result = bot.get_chat_member(CHAT_ID, USER_ID)
print(result)
bot.polling()
{'user': {'id': 700..., 'is_bot': False, 'first_name': '', 'username': None, 'last_name': None, ... }
telebot.apihelper.ApiTelegramException: A request to the Telegram API was unsuccessful. Error code: 400 Description: Bad Request: user not found
menus = [menu1, menu2, menu3]
print(menus) # [menu1, menu2, menu3]
def menu_select(menu):
menus[2] = menus[1]
menus[1] = menus[0]
menus[0] = menu
# смена меню на menu4
menu_select(menu4)
print(menus) # [menu4, menu1, menu2]
import os # в импорты
# код дальнейших действий с файлом и его отправкой
os.remove(f'{new_title}.mp4')
os.remove(f'{new_title}.mp4')
вписываешь либо вместо send_file(f'{new_title}.mp4', as_attachment=True )
в return, а саму эту часть кода перед return, либо return просто засунь в конец функцииЯ рассказываю из личного опыта. По созданию твоего первого проекта, даже если там будет куча багов или недоработок, у тебя будет достаточно опыта, чтобы его улучшить.
(Длина кадра у этих двух различается) FixedUpdate выполняется после отрисовки каждого фиксированного кадра. Отличие от update заключается в том, что FixedUpdate выполняется в визуализированном кадре. Если эффективность визуализации низкая, количество вызовов FixedUpdate уменьшится. FixedUpdate больше подходит для расчета физического движка, потому что он связан с рендерингом каждого кадра. Обновление больше подходит для контроля.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SitDown : MonoBehaviour
{
public GameObject cameraGood;
public float speed = 5;
bool negr = false;
void Update()
{
SitDownPls();
}
void SitDownPls()
{
if (Input.GetKeyDown( KeyCode.LeftControl))
{
if (negr == false)
{
print("ctrlDown");
speed = 10;
cameraGood.transform.Translate(Vector3.down * Time.deltaTime * speed );
negr = true;
FirstPersonMovement.speed = 2;
FirstPersonMovement.runSpeed = 2;
}
else
{
print("ctrlUp");
FirstPersonMovement.speed = 5;
FirstPersonMovement.runSpeed = 9;
speed = -10;
cameraGood.transform.Translate(Vector3.down * Time.deltaTime * speed );
negr = false;
}
}
}
}