tab issue
This commit is contained in:
parent
0e388c086c
commit
d8fd798ec0
60
main.py
60
main.py
@ -37,6 +37,7 @@ def send_mass_mail(guild, subject, content):
|
||||
|
||||
|
||||
def send_mail(guild, to, subject, content):
|
||||
print(to, content)
|
||||
msg = EmailMessage()
|
||||
msg['Subject'] = subject
|
||||
msg['From'] = guild['mail_from']
|
||||
@ -112,32 +113,8 @@ def scrap_framavote (admin_url):
|
||||
finder.feed(requests.get(admin_url).content.decode('UTF-8'))
|
||||
return finder
|
||||
|
||||
def create_framavote (guild, names):
|
||||
finder = scrap_framavote(guild['framavote'])
|
||||
|
||||
# Remove everything
|
||||
erase_framadate(guild['framavote'], finder.delete_links)
|
||||
|
||||
# Add columns
|
||||
for name in names:
|
||||
req(guild['framavote'], 'choice='+name+'&confirm_add_column=')
|
||||
|
||||
# Update control sum
|
||||
finder = scrap_framavote(guild['framavote'])
|
||||
|
||||
# Random order
|
||||
#shuffle(guild['members'])
|
||||
|
||||
# Add lines
|
||||
for i in range(len(guild['members'])):
|
||||
print('create_line_framadate ', i)
|
||||
create_line_framadate(finder.token, guild['framavote'], 'Anne ONyme'+str(i+1), names)
|
||||
time.sleep(2)
|
||||
|
||||
# Update links
|
||||
finder = scrap_framavote(guild['framavote'])
|
||||
|
||||
# Send links
|
||||
def send_mails_vote(guild, finder):
|
||||
shuffle(guild['members'])
|
||||
for mail,link in zip(guild['members'], finder.public_links):
|
||||
content = f"""
|
||||
Ce mail remplace tous les précédents s’il y en a !
|
||||
@ -147,19 +124,6 @@ Vous avez été convié·e à un vote anonyme. Voici le lien où voter :
|
||||
send_mail(guild, mail, '[Mutubot] Vous êtes convié·e à un vote anonyme', content)
|
||||
time.sleep(2)
|
||||
|
||||
return finder.public_link
|
||||
|
||||
def erase_framadate (admin_url, delete_links=[]):
|
||||
req(admin_url, 'remove_all_votes=')
|
||||
req(admin_url, 'confirm_remove_all_votes=')
|
||||
for link in delete_links:
|
||||
requests.get(link)
|
||||
|
||||
|
||||
def create_line_framadate (token, admin_url, voter, names):
|
||||
data = 'control=' + token + '&name=' + voter + ''.join('&choices%5B'+str(i)+'%5D=+' for i in range(len(names))) + '&save='
|
||||
x = req(admin_url, data)
|
||||
|
||||
@scheduler.scheduled_job('cron', day=25)
|
||||
def cleaner ():
|
||||
for guild_id in guilds:
|
||||
@ -204,7 +168,6 @@ Le mutubot
|
||||
intents = discord.Intents.default()
|
||||
intents.message_content = True
|
||||
client = discord.Client(intents=intents)
|
||||
randomvote = None
|
||||
|
||||
@client.event
|
||||
async def on_ready():
|
||||
@ -214,20 +177,25 @@ async def on_ready():
|
||||
|
||||
@client.event
|
||||
async def on_message(message):
|
||||
global randomvote
|
||||
if message.author == client.user:
|
||||
return
|
||||
if message.guild.id not in guilds:
|
||||
return
|
||||
if message.content.startswith('!randomvote '):
|
||||
await message.reply('Créer un vote anonyme va détruire le framavote actuel. Êtes vous sûr·e ? Répondez « Pamplemousse agrivoltaiste » pour confirmer')
|
||||
randomvote = message.content.split(' ')[1:]
|
||||
await message.reply('Vérifiez bien que le framadate a le bon nombre de ligne (une par votant·e) et de colonnes (une par option à voter) ? Répondez « Pamplemousse agrivoltaiste » pour confirmer que c’est tout bon et lançer l’envoi des lien de vote')
|
||||
return
|
||||
elif message.content == 'Pamplemousse agrivoltaiste' and message.type == discord.MessageType.reply :
|
||||
finder = scrap_framavote(guild['framavote'])
|
||||
guild = guilds[message.guild.id]
|
||||
nb_links = len(finder.public_links)
|
||||
nb_membres = len(guild['members'])
|
||||
if nb_links != nb_membres:
|
||||
await message.reply("Il semblerait qu’il n’y ait pas autant de lignes("+nb_links+") que de membres("+nb_membres+")…")
|
||||
return
|
||||
|
||||
await message.reply("Ok je m’y met, patientez bien ça peut prendre plusieurs minutes")
|
||||
public_link = create_framavote(guilds[message.guild.id], randomvote)
|
||||
randomvote = None
|
||||
await message.reply("C’est fait ! Vérifiez bien par vous même parce que je suis un peu fini à l’arache… " + public_link)
|
||||
send_mails_vote(guilds[message.guild.id], finder)
|
||||
await message.reply("C’est fait ! Vérifiez que tout le monde a reçu les mails ; l’informatique ce n’est jamais bien déterministe… ")
|
||||
return
|
||||
elif message.channel.id in guilds[message.guild.id]['mailed_channels']:
|
||||
await mail_message(message)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user