summary refs log tree commit diff
path: root/etc/gitea2mastodon.rb
blob: 950a881ba05569019dcd187e1d90e1b930b36c43 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/usr/bin/env ruby
require 'cgi'
require 'json'
require 'mastodon'

require_relative 'secret'

cgi = CGI.new
begin
	payload = JSON.parse(cgi.params['payload'].first)
rescue
	cgi.out('status' => 'BAD_REQUEST', 'type' => 'text/plain') { 'bad' }
	exit
end
if payload['secret'] != GITEA_SECRET
	cgi.out('status' => 'FORBIDDEN', 'type' => 'text/plain') { 'no' }
	exit
end

client = Mastodon::REST::Client.new(
	base_url: MASTODON_URL,
	bearer_token: MASTODON_TOKEN,
)

payload['commits'].reverse.each do |commit|
	next unless commit['message'].include?("\n\n")
	message = commit['message']
		.split("\n\n")
		.map {|p| p.split("\n").join(' ') }
		.join("\n")
	client.create_status("🚽 #{message}\n#{commit['url']}")
end

cgi.out('text/plain') { 'ok' }
src/commit/bin/quick.c?id=6cd5d365a877629eb9999348f277c56b386ac440&follow=1'>Consume request headers using MSG_PEEKJune McEnroe 2021-09-24Set only HTTP_HOSTJune McEnroe 2021-09-23Scroll by single lines in xtermJune McEnroe 2021-09-23Hide htop "function bar"June McEnroe 2021-09-23Allow FocusEvents in xtermJune McEnroe 2021-09-23Use NI_NUMERICSERVJune McEnroe 2021-09-23Make up build away from FreeBSDJune McEnroe 2021-09-23Add quickJune McEnroe 2021-09-23Add The HobbitJune McEnroe 2021-09-22Remove PSF fontsJune McEnroe 2021-09-22Remove Linux-specific utilitiesJune McEnroe 2021-09-22Call sandbox in CGI modeJune McEnroe 2021-09-22Support HTTP PUT in upJune McEnroe 2021-09-22Remove default faviconJune McEnroe 2021-09-21Use Z_FILTERED strategyJune McEnroe 2021-09-21Recalculate various lengths only as neededJune McEnroe 2021-09-21Rewrite pngo, add explicit optionsJune McEnroe 2021-09-16Fix /* **/ comment matchingJune McEnroe 2021-09-15Remove typer, add downgrade to READMEJune McEnroe 2021-09-15Set bot mode on downgradeJune McEnroe 2021-09-15Enter capsicum in downgradeJune McEnroe 2021-09-15Factor out common parts of downgrade messagesJune McEnroe 2021-09-14Add downgrade IRC botJune McEnroe 2021-09-14Sort by title if authors matchJune McEnroe 2021-09-13Swap-remove tags as they're foundJune McEnroe 2021-09-12Replace htagml regex with strncmpJune McEnroe 2021-09-11Also defer printing comment for lone close-parensJune McEnroe 2021-09-10Publish "git-comment"June McEnroe 2021-09-10Add git comment --pretty optionJune McEnroe 2021-09-08Defer printing comment if line is blank or closing braceJune McEnroe 2021-09-08Up default min-repeat to 30 linesJune McEnroe 2021-09-08Handle dirty lines in git-commentJune McEnroe 2021-09-08Document and install git-commentJune McEnroe 2021-09-08Add repeat and all options to git-commentJune McEnroe 2021-09-08Add group threshold to git-commentJune McEnroe