if not ctx.author.guild_permissions.manage_channels:
await ctx.reply('У вас нет прав на управление каналами')
@bot.slash_command(name='lock', description='Заблокировать текущий канал')
async def lock(ctx):
await ctx.channel.set_permissions(ctx.guild.default_role, send_messages=False, create_instant_invite=False, add_reactions=False, create_private_threads=False, create_public_threads=False)
await ctx.send(f'Канал {ctx.channel.mention} заблокирован!')
import textwrap
async def marathon_questions(message: types.Message, state: FSMContext):
"""
На этом шаге получаем ответ о главной цели и ИИ будет задавать вопросы
"""
logging.info(marathon_questions.__name__)
reply = await message.reply('Ожидаем ИИ')
async with state.proxy() as data: # Получаем информацию из контекстных переменных
logging.info(f"question : {data['questions']}")
chat: AiChat = data['chat']
message_text = message.text
if len(message_text) > 4096:
message_text_chunks = textwrap.wrap(message_text, width=4096)
else:
message_text_chunks = [message_text]
# Process each chunk as a separate message
for chunk in message_text_chunks:
response = await data['chat'].generate_response(chunk, tokens=586,
auto_reformat=True) # генерируем ответ от ии
if data['questions'] == 7: # Когда количество вопросов достигает 7 переходим к следующему шагу
await FirstInteractionState.marathon_calibrations.set()
await marathon_decompose(message, state)
await reply.delete()
data['questions'] += 1 # Счетчик вопросов
await reply.edit_text(response) # вопрос о сфере развития
print(chat is data['chat'])
void Update()
{
Quaternion toRotation = Quaternion.LookRotation(Vector3.forward, rb.velocity);
transform.rotation = Quaternion.Slerp(transform.rotation, toRotation, Time.deltaTime * rotationSpeed);
}
<div class="wrapper">
<div class="container">
<div class="swapi">
<h1 class="swapi__title">SWAPI</h1>
<form class="swapi__form" >
<span class="swapi__url-span js--url-main">https://swapi.dev/api/</span>
<label class="swapi__label" for="url">
<input id="url" value="planets/3/" class="swapi__input js--endPoint" type="text" placeholder="people/1/">
</label>
<button class="swapi__button js--button-request">Get info</button>
</form>
<div class="swapi-result">
<div class="swapi-result__container">
<div class="swapi-result__info">
<div class="swapi-result__id"></div>
<div class="swapi-result__controller"></div>
</div>
<pre class="swapi-result__code js--code"></pre>
</div>
</div>
</div>
</div>
</div>
function mainFunc( {mainUrl, endPoint, button} ) {
console.log(button)
button.addEventListener('click', (event) => {
event.preventDefault();
(async function () {
const promise = await fetch(mainUrl.textContent + endPoint.value + '');
console.log(promise);
const data = await promise.json();
console.log(data);
})()
})
}
mainFunc({
mainUrl: document.querySelector('.js--url-main'),
endPoint: document.querySelector('.js--endPoint'),
button: document.querySelector('.js--button-request'),
});
def can_rearrange(old_num, new_num):
# Словарь с количеством спичек для каждой цифры
matches = {'0': 6, '1': 2, '2': 5, '3': 5, '4': 4, '5': 5, '6': 6, '7': 3, '8': 7, '9': 6}
old_str = str(old_num)
new_str = str(new_num)
# Вычисляем разницу в количестве спичек между старым и новым числами
diff = sum(matches[c] for c in old_str) - sum(matches[c] for c in new_str)
# Проверяем, равна ли разница двум
return diff == 2 or diff == -2
Все имена разрешений есть в документации Permissions