discord Botつくるよー その2 [python]
Botが出来たので以下を参考(コピペ)にする。
https://discordpy.readthedocs.io/ja/latest/quickstart.html
https://discordpy.readthedocs.io/ja/latest/quickstart.html
import discord from discord.ext import tasks from datetime import datetime # 自分のBotのアクセストークンをコピペ TOKEN = 'Token' # 接続に必要なオブジェクトを生成 client = discord.Client() # 起動時に動作する処理 @client.event async def on_ready(): # 起動したらターミナルにログイン通知が表示される print('ログインしました') # メッセージ受信時に動作する処理 @client.event async def on_message(message): # メッセージ送信者がBotだった場合は無視 if message.author.bot: return # 「/tikuwa」に反応してちくわ大明神と返すBot if message.content == '/tikuwa': await message.channel.send('ちくわ大明神') CHANNEL_ID = 865158785369899008 # 任意のチャンネルID(int) # 任意のチャンネルで挨拶する非同期関数を定義 async def greet(): channel = client.get_channel(CHANNEL_ID) await channel.send('おはよう!') # bot起動時に実行されるイベントハンドラを定義 @client.event async def on_ready(): await greet() # 挨拶する非同期関数を実行 # Botの起動とDiscordサーバーへの接続 client.run(TOKEN)
discord Botつくるよー [python]
心理学界隈の仲間(願望)とワイワイできるDiscordサーバーを立ち上げたのですが
心理学関連のニュースを自動で取ってきてURLとタイトルを投げてくれるBotがほしーなーと思ったので作ってみる。
まずは以下のURLに飛んでログイン。
https://discord.com/developers/applications/
ログインしたらNew Applicationで適当な名前で作成。
左のSettingから「Bot」を作成してYes do it!
アクセストークンはCopyとRegなんたらというところから取得できる。
Regなんたらはトークンを更新してしまうため、必要時以外はクリックしない。
次にSettingから「OAuth2」を選択したらBotを探してチェック
URLが下に出てくるのでそちらのURLをコピーして飛ぶ。
そうしたら諸々OKしたら閉じる。
心理学関連のニュースを自動で取ってきてURLとタイトルを投げてくれるBotがほしーなーと思ったので作ってみる。
まずは以下のURLに飛んでログイン。
https://discord.com/developers/applications/
ログインしたらNew Applicationで適当な名前で作成。
左のSettingから「Bot」を作成してYes do it!
アクセストークンはCopyとRegなんたらというところから取得できる。
Regなんたらはトークンを更新してしまうため、必要時以外はクリックしない。
次にSettingから「OAuth2」を選択したらBotを探してチェック
URLが下に出てくるのでそちらのURLをコピーして飛ぶ。
そうしたら諸々OKしたら閉じる。
pythonでサンプルデータを作成 [python]
pythonで統計で使えそうなサンプルデータを作成し、エクセルにぶち込んでみました。
import openpyxl as px import random wb = px.load_workbook("data.xlsx") ws = wb["Sheet"] title_list = ["id","sex","age"] random_sex = ["f","m"] cnt = 0 for i in title_list: cnt+=1 ws.cell(row=1, column=cnt, value=i) for answers in range(1,31): cnt+=1 ws.cell(row=1,column=cnt,value="T%d" %answers) for i in range(1,101): ws.cell(row=i+1,column=1,value=i) j = random.randint(0,1) ws.cell(row=i+1,column=2,value=random_sex[j]) ws.cell(row=i+1,column=3,value=random.randint(18,30)) for k in range(4,34): ws.cell(row=i+1,column=k,value=random.randint(1,5)) wb.save("data.xlsx")
wordとexcelをPython様に動かしてもらう [python]
皆尊敬するロリババアことPython様に私たちの最も使用頻度の高いこれらを動かしてもらいましょう。
#Excel編
#Word編
#Excel編
import opnepyxl as px #エクセルファイル(ブック)の選択 wb = px.load_workbook("test.xlsx") #シートの選択 ws = wb["Sheet1"] #セルに値を入力 変数も可 ws["A1"].value = "ここやで" ws["A2"].value = 1234567890 #ブックを保存 ws.save("px.xlsx")
#Word編
import docx #ファイルを作成 doc = docx.Document("test.docx") #入力 doc.add_paragraph('タイトル') #1行目のフォントサイズを26に変更 doc.paragraphs[0].runs[0].font.size = docx.shared.Pt(26) #もう一行追加して本文とする doc.add_paragraph('ここに本文を入力していきましょう。') #ファイルを保存 doc.save("title.docx")
GUIアプリを作りたい [python]
pythonでGUI系を作るものとして最も有名?なのがtkinter。
他にも色々ありそうですが、メジャーで情報が多そうなのでこちらを採用。
ラベルの表示とボタンの表示と機能の作成。
テキストボックスとその内容の表示を試してみた。
今日はとりあえずここまで。
他にも色々ありそうですが、メジャーで情報が多そうなのでこちらを採用。
ラベルの表示とボタンの表示と機能の作成。
テキストボックスとその内容の表示を試してみた。
今日はとりあえずここまで。
import tkinter as tk root = tk.Tk() #タイトル名の指定 root.title("タイトル") #画面サイズの指定 root.geometry("450x350") def button_action(): print('キサマッッ!!今ッッ!!そのボタンを押したなッッ!!!') def print_text(): val_text = txtbox.get() print(val_text) #ボタン、ラベルの設定 lb = tk.Label(text="ラベル") bt = tk.Button(text="ボタン", command=button_action) #テキストボックスの作成 txtbox = tk.Entry() txtbutton = tk.Button(text="送信", command=print_text) #ボタン、ラベルの表示 lb.pack() bt.pack() [widget.pack() for widget in (lb, txtbox, txtbutton)] root.mainloop()
pythonで連番ファイル生成 [python]
講義の第一回から第十五回までのフォルダとかいちいち作ってられん、的な時にオヌヌメ
pythonなんて入ってねえぞ!という場合はコマンドプロンプトでこちら。
import os for i in range(1,11): os.mkdir('第%d回'%i)
pythonなんて入ってねえぞ!という場合はコマンドプロンプトでこちら。
@echo off for /l %%i in (4,1,6) do ( mkdir 第%%i回 echo %i )
スクレイピングに挑戦 [python]
Webスクレイピーング
import urllib.request, urllib.error from bs4 import BeautifulSoup url = "https://www.kadokawa.co.jp/product/search/?lgenre=13&releaseDate=1" #python2系ではurllib.request(url) html = urllib.request.urlopen(url) soup = BeautifulSoup(html, "html.parser") h2 = soup.find_all("h2") book_titles = [] for tag in h2: try: string_ = tag.get("class").pop(0) if string_ in "book-title": ts = tag.string.replace(' ', ' ') book_titles.append(ts) #break except: pass print(book_titles) with open('titles.csv', mode='w+',encoding='utf-8') as f: for i in book_titles: s = f.write('%s,' %i)