Discord.py è una libreria open source[1] per il linguaggio di programmazione Python, che permette di sviluppare Bot per il social media Discord.

Utilizzo

Con l'importazione del modulo all'interno di un programma, è possibile dare vita a un Bot il quale, attraverso le funzioni e le variabili della libreria, potrà comportarsi su Discord esattamente come un utente umano.

Funzioni

Il Bot potrà quindi eseguire, come un normale utente, le seguenti operazioni:

  • Leggere i messaggi
  • Inviare messaggi
  • Allegare file[2]
  • Accedere alla lista degli utenti. (Lista che dopo l'ultimo aggiornamento ha causato problemi, in quanto necessita di abilitare da Discord Developer Portal[3] una funzione privilegiata[4])
  • Scrivere in privato agli utenti

Non potrà naturalmente leggere i messaggi di canali[5] che per questioni di autorizzazione[6] non possa vedere.

Allo stesso modo per mancanza di autorizzazione da parte del proprietario[7] del server (che i programmatori usano chiamare Guild[8]) potrebbe subire limitazioni nei permessi per:

  • Scrivere in privato agli utenti
  • Menzionare gli utenti
  • Espellere gli utenti[9]
  • Bannare gli utenti[10]
  • Modificare il nickname degli altri utenti

Le autorizzazioni dei singoli Bot sono gestite da Discord Developer Portal, che genera link di invito al server per i Bot a seconda dei permessi che il ruolo personalizzato richiede.

In caso di mancata autorizzazione, il compilatore restituirà l'errore seguente:

discord.ext.command.errors.MissingPermission

Applicazioni

A partire dalle funzioni di base, utilizzando altri moduli tra i quali asyncio.py e time.py[11], si possono creare applicazioni utili, tra le quali:

  • Ban/Kick a tempo determinato
async def ban_temporaneo(member, tempo):
    await member.ban()
    await asyncio.sleep(tempo)
    await member.unban()
  • Stato del Bot a tempo determinato

Esempio di codice

import discord
import discord.ext.commands.errors
from discord.ext import commands
from discord import client

token = "<inserisci-qui-il-token-del-bot>"
Bot = commands.Bot(command_prefix = "£", description = "<inserisci-qui-la-descrizione-del-bot>")
gioco = discord.Game("£Aiuto | Bot | @Bot#1127")

@Bot.event
async def on_ready():
    print(Bot.user, " è ora online ", "ID: ", Bot.user.id)
    await Bot.change_presence(status = discord.Status.idle, activity = gioco)

Note

  1. ^ Discord.py, su awesomeopensource.com. URL consultato l'11 Maggio 2021.
  2. ^ Che devono però essere presenti nella stessa cartella del programma, e che vanno quindi consegnati nel caso ci si avvalga di un servizio di hosting.
  3. ^ discord.guild.members, su Python.tutoriallink.com.
  4. ^ discord.Intents, su https://discordpy.readthedocs.io/. URL consultato l'11 Maggio 2021.
  5. ^ Si veda Discord, alla definizione di canale, sottodivisione del "server".
  6. ^ Si veda Discord, nella sezione riguardante la gerarchia dei ruoli, e i vari permessi.
  7. ^ Dalla stessa libreria Discord.py definito (discord.guild.)owner.user
  8. ^ Server vs Guild, su GitHub, 15 Agosto 2016. URL consultato l'11 Maggio 2021.
  9. ^ Esiste il comando apposito
    member.kick()
    
    Con il parametro opzionale reason
  10. ^ Esiste il comando apposito
    member.ban()
    
    Con il parametro opzionale reason
  11. ^ L'equivalente di <locale> (lettura "local-e") in C++, importa una serie di variabili a seconda del luogo nel quale ci si trova, tra le quali il fuso orario e i caratteri UTF-8 della lingua locale.

Il Portale Informatica è un punto di raccolta per le voci riguardanti l'informatica, lo studio dei fondamenti teorici dell'informazione e della computazione e delle tecniche pratiche per la loro implementazione e applicazione nei sistemi informatici. L'informatica è frequentemente descritta come lo studio sistematico dei processi algoritmici che descrivono e trasformano l'informazione. È il punto di incontro di almeno due discipline autonome: il progetto, la realizzazione e lo sviluppo di macchine rappresentatrici ed elaboratrici di numeri e i metodi di risoluzione algoritmica di problemi dati.

  Storia dell'informatica

L'informatica ha radici molto antiche, in quanto sistemi per automatizzare il trattamento dei dati e delle operazioni aritmetiche erano noti già ai Babilonesi intorno al X secolo a.C., in India e in Cina forse addirittura prima. L'informatica in senso moderno, però, nasce soprattutto dal lavoro di precursori quali Pascal e Gottfried Leibniz, iniziatori come Babbage, Ada Lovelace, Zuse, Atanasoff, ancora Alan Turing, Stibitz e Howard Aiken, creatori dei primi progetti computazionali di vasto respiro come de Finetti, von Neumann e Wiener.


  Voci in vetrina
 

Il phase-locked loop, comunemente noto con il suo acronimo PLL, è un circuito elettrico ampiamente utilizzato nell'elettronica per le telecomunicazioni. Esso permette di creare un segnale la cui fase ha una relazione fissa con quella di un segnale di riferimento. Il PLL è inoltre un classico esempio di applicazione all'elettronica del controllo in retroazione. A causa dell'uso comune dell'acronimo, in letteratura non esiste una traduzione italiana univoca del termine: è difatti possibile trovare le forme "anello ad aggancio di fase", "circuito ad aggancio di fase" oppure "maglia ad aggancio di fase".

Tale tipo di circuito si usa per diversi scopi quali:


continua...
  Voce della settimana

Uno spazio dei colori è la combinazione di un modello di colore e di una appropriata funzione di mappatura di questo modello.

Un modello di colore, infatti, è un modello matematico astratto che descrive un modo per rappresentare i colori come combinazioni di numeri, tipicamente come tre o quattro valori detti componenti colore. Tuttavia questo modello è una rappresentazione astratta, per questo viene perfezionato da specifiche regole adatte all'utilizzo che se ne andrà a fare, creando uno spazio dei colori.

Così, ad esempio, spazi di colore come Adobe RGB e sRGB sono diversi, pur basandosi entrambi sullo stesso modello di colore RGB.

Calendario voce della settimana

  Citazioni

(da Informatica su Wikiquote)

  • L'informatica non riguarda i computer più di quanto l'astronomia riguardi i telescopi. (Edsger Wybe Dijkstra)
  • Errare è umano, ma per incasinare davvero tutto ci vuole un computer. (Legge di Murphy- Quinta legge dell'inattendibilità)
  • I computer sono inutili, possono dare solo risposte. (Pablo Picasso)
  • Il calcolatore è straordinariamente veloce, accurato e stupido. L'uomo è incredibilmente lento, impreciso e creativo. L'insieme dei due costituisce una forza incalcolabile. (Albert Einstein)
  • La disumanità del computer sta nel fatto che, una volta programmato e messo in funzione, si comporta in maniera perfettamente onesta. (Isaac Asimov)
  • Non ho paura dei computer, ma della loro eventuale mancanza. (Isaac Asimov)
  • Il testing non può mai rivelare l'assenza di bug. (Edsger Wybe Dijkstra)
  • Computer: cretino ad alta velocità in dotazione, spesso, a cretini molto lenti. (Stefano Benni)
  • Sono convinto che l'informatica abbia molto in comune con la fisica. Entrambe si occupano di come funziona il mondo a un livello abbastanza fondamentale. La differenza, naturalmente, è che mentre in fisica devi capire come è fatto il mondo, in informatica sei tu a crearlo. Dentro i confini del computer, sei tu il creatore. Controlli - almeno potenzialmente - tutto ciò che vi succede. Se sei abbastanza bravo, puoi essere un dio. Su piccola scala.ra invenzione dell'uomo - con l'eccezione forse delle armi da fuoco e della tequila. (Mitch Ratcliffe)
  • Mai fidarsi di un computer che non è possibile gettare dalla finestra. (Steve Wozniak)
  • Ogni buon lavoro software nasce da un problema personale di uno sviluppatore. (Eric Steven Raymond)
  • I bravi programmatori sanno cosa scrivere, i migliori sanno cosa riscrivere (e riusare). (Eric Steven Raymond)
  • È meglio usare programmi di alta qualità senza costi di licenza, che costosi programmi proprietari di scarso valore. (Walter Bender, direttore del Media Lab del MIT)
  • Il computer non è una macchina intelligente che aiuta le persone stupide, anzi è una macchina stupida che funziona solo nelle mani delle persone intelligenti. (Umberto Eco)
  Portali correlati
  Portale Telematica: accedi alle voci di Wikipedia che parlano di reti, telecomunicazioni e protocolli di rete
  Portale Apple: accedi alle voci di Wikipedia che trattano di Apple
  Portale Microsoft: accedi alle voci di Wikipedia che trattano di Microsoft
  Portale Google: accedi alle voci di Wikipedia che trattano di Google
  Portale Internet: accedi alle voci di Wikipedia che trattano di Internet
  Portale Software libero: accedi alle voci di Wikipedia che trattano di Software libero
  Portale Videogiochi: accedi alle voci di Wikipedia che trattano di Videogiochi
  Portale Sicurezza informatica: accedi alle voci di Wikipedia che trattano di Sicurezza informatica

Altri progetti

  Personaggi legati all'informatica
 

Linus Benedict Torvalds (Helsinki, 28 dicembre 1969) è un programmatore finlandese, conosciuto soprattutto per essere stato l'autore della prima versione del kernel Linux e coordinatore del progetto di sviluppo dello stesso.

Nato a Helsinki da una famiglia appartenente alla minoranza finlandese di lingua svedese, ha studiato all'università di Helsinki tra il 1988 e il 1996, conseguendo la laurea in informatica con una tesi intitolata Linux: A Portable Operating System. È sposato con Tove Torvalds, che ha dato il primo impulso alla creazione di Tux, la mascotte di Linux.

Torvalds è colui che ha iniziato lo sviluppo del kernel Linux. Il sistema operativo GNU/Linux, ottenuto unendo Linux con il sistema GNU, creato da Richard Stallman, è entrato nella storia come valida alternativa ai sistemi operativi commerciali a licenza chiusa (come per esempio Microsoft Windows, macOS, Unix); a differenza di questi ultimi sistemi, infatti, Linux è software libero rilasciato sotto licenza GPL (tale licenza è ritenuta attualmente dall'OSI conforme alle norme che regolano l'open source), ovvero chiunque può accedere al codice sorgente del sistema operativo, modificarlo a proprio piacimento, usare l'eseguibile per ogni scopo e copiare legalmente tale software, come previsto dalla licenza GPL.


Categorie