Skip to content

Commit

Permalink
hotfix
Browse files Browse the repository at this point in the history
  • Loading branch information
remr2005 committed Jun 30, 2024
1 parent 95d86a1 commit c1bcd73
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 13 deletions.
2 changes: 1 addition & 1 deletion commands/help.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ async def help(client: Client, message: Message):
print("Help command received")
args = message.text.split()[1:]
if len(args)==0:
await message.reply('''В общем, здрасте, наш ебейший сервак https://discord.gg/UEYQPsAuR4, а так же канал в котором есть новости о разработке https://t.me/churkopeiaForever. Список всех доступных команд:
await message.reply('''В общем, здрасте, наш ебейший сервак https://discord.gg/UEYQPsAuR4, а так же канал в котором есть новости о разработке и щитпост(его гораздо больше) https://t.me/churkopeiaForever. Список всех доступных команд:
make_admin
remove_admin
invite
Expand Down
35 changes: 23 additions & 12 deletions vote.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,31 @@
from pyrogram import Client
from pyrogram.types import Message

""" Передаёте message, client, ставить вопрос question по которому идет голосование, варианты голосования options и время в секундах time.
Функция возвращает True если голосование прошло успешно и False во всех иных случаях.
P.S Так что хуй вам, а не третья опция"""
async def vote(message: Message, client: Client,question: str, time: int=259200) -> bool:
async def vote(message: Message, client: Client, question: str, time: int = 259200) -> bool:
try:
poll_message = await client.send_poll(
chat_id=message.chat.id,
question=question,
options=["Да","Нет"],
is_anonymous=False # Устанавливаем False, если хотите, чтобы голосование было неанонимным
options=["Да", "Нет"],
is_anonymous=False
)
# TODO:пока что голосование идет ровно time секунд и никак иначе, нужно сделать автозавершения после n% проголосовавих
await asyncio.sleep(time)
results = {option.text: option.voter_count for option in poll_message.poll.options}
# Пока что голосование всегда идет по принципу Да vs Нет, не вижу смысла это менять, но вообще было неплохло TODO: кастомное голосование
b=0
async for m in client.get_chat_members(message.chat.id):
b+=1
print(f"Голосование {poll_message.id} стартовало")
while True:
await asyncio.sleep(1)
time-=1
if time<=0:
break
poll_message = await client.get_messages(message.chat.id, poll_message.id)
results = {option.text: option.voter_count for option in poll_message.poll.options}
if (results["Да"]+results["Нет"])>int(b*0.6):
break
print(f"Голосование {poll_message.id} окончено")
if results["Да"] >= results["Нет"]:
return True
return False
return True
return False
except Exception as e:
print(f"Exception occurred: {str(e)}")
return False

0 comments on commit c1bcd73

Please sign in to comment.